반응형
원래는 import, export를 무조건 esm 이라는 라이브러리를 이용해야했지만, 해당 문법이 이미 최신 node에서 사용이 가능하다.
즉 수정할 곳은 두곳인데, 한개도 생략이 가능하다.
// package.json 파일 추가
"type": "module"
아래가 생략이 가능한 부분.
// .eslintrc.json
{
"env": {
"node": true,
"es2021": true
},
"extends": ["eslint:recommended", "prettier"],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module" // commonJs를 module로 변경한다.
},
"rules": {
"no-unused-vars": ["warn", { "args": "none", "ignoreRestSiblings": true }],
"no-console": "off",
"prefer-const": "error",
"no-var": "error",
"eqeqeq": ["error", "always"],
"arrow-spacing": ["error", { "before": true, "after": true }]
}
}
해당 문법 사용할 경우 무조건 파일까지 import 해야한다.
기존에서
app
ㄴ api
- index.js
라는 구조라면
기존 ./api 로 적어도 적용이되었다.
그런데 해당 import 적용시 ./api/index.js를 확실히 적어야한다.
그래야 작동오류가 없다.
찾아보다가 발견한 내용인데, CJS, ESM에 관련한 글이다
한번 봐도 재밌다.
https://toss.tech/article/commonjs-esm-exports-field
728x90
'코딩 > Node.js' 카테고리의 다른 글
[Mongodb] 몽고디비 설정하기 및 기본 CRUD (0) | 2024.12.09 |
---|---|
[koa] koa 학습하기 - 2 - 컨트롤러 적용 (0) | 2024.12.08 |
[koa] 코아 프레임워크 학습 - 1 - 라우팅 기능적용 (0) | 2024.12.08 |
[yarn] yarn 설치 불가 이슈(다층구조 충돌이슈) (0) | 2024.12.07 |
[NODE] JWT 기능 구현. (0) | 2024.11.01 |