Node.js - @ symbol

2022. 8. 14. 23:52Node.js

최근 TypeScript를 많이 사용함에 따라 npm을 사용하여 패키지를 다운받을 때 @라는 symbol이 있다.
처음에는 그냥 이름을 @로 지을수 있나보다라고 생각을 했었다.
하지만 다른 사람의 블로그를 보며 공부를 하던 도중 외부 패키지가 아닌 Local 파일을 import할 때도 @이라는 symbol을 이용하여 import하여 문득 이게 무엇인지 궁금해 졌다.
그리하여 구글링에 찾아보았다. 아래의 두 사람도 나와 같이 많이 궁금했던 모양이다..

https://stackoverflow.com/questions/42711175/what-does-the-symbol-do-in-javascript-imports

https://stackoverflow.com/questions/37372816/what-does-symbol-mean-in-import-component-from-angular-core-statem


두 사람의 질문에 대한 답을 읽었지만 속시원하게 확 와닿지는 않았다.
일단 @의 symbol은 두 가지 경우를 갖는다.
NPM에서의 경우에는 scope를 나타내는 것이며 각 npm 유저/기관들은 자신들의 고유의 scope를 갖는다. 그리고 각자의 고유 scope에서만 패키지를 추가할 수 있다고 나온다.

@somescope/somepackagename

그 외의 경우에는 babel이라는 JavaScript 버전 변환 컴파일러의 설정파일에 의하여 설정된 것이다.

필자의 경우 Node.js에서 JavaScript로 백엔드 작업을 주로하기에 babel을 사용한 적이 없어 더 와닿지는 않았다. 그리고 TypeScript에서도 tsconfig를 통하여 @ symbol을 사용할 수는 있다고 나오지만 나와 있는 방법으로 하였으나 실패하였다. 점이나 언더바 또는 URI-safe characters와 같이 파일의 위치를 알기 힘들게 만드는 요소들보다는 @ symbol을 사용하는 것이 훨씬 깔끔해 보였다. 나중에 협업을 하는 프로젝트를 할 경우 학습후 사용해 봐야겠다.

Reference

https://docs.npmjs.com/cli/v8/using-npm/scope

scope | npm Docs

Scoped packages

docs.npmjs.com

'Node.js' 카테고리의 다른 글

Node.js - 프로젝트 초기 환경 설정 팁  (1) 2023.11.28