패키지에 'type: module'이(가) 있는 이유입니다.json 파일?
나는 노드를 업그레이드하고 기존 파일을 구축했습니다.
하지만 그것은 지어지지 않았고, 오류가 있었습니다.
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: │
│ ~~/nuxt.config.js │
│ require() of ES modules is not supported. │
│ require() of ~~/nuxt.config.js from │
│ ~~/config.js is an ES │
│ module file as it is a .js file whose nearest parent package.json contains "type": │
│ "module" which defines all .js files in that package scope as ES modules. │
│ Instead rename nuxt.config.js to end in .cjs, change the requiring code to use │
│ import(), or remove "type": "module" from │
│ ~~/package.json.
그래서 패키지에서 'type: module'을 제거했습니다.json 파일.
그것을 제거해도 괜찮습니까?
당신이 가지고 있는"type": "module"
에서package.json
소스 코드가 사용해야 하는 파일import
통사론없을 때는 다음을 사용해야 합니다.require
구문, 즉, 추가"type": "module"
에게package.json
ES 6 모듈을 활성화합니다.자세한 내용은 여기를 참조하십시오.
2022년 중반 현재 업데이트
Node.js v16을 사용하고 있고 LTS이므로 사용할 수 있으면 사용하면 됩니다.type: module
여기서 설명하는 것처럼: https://blog.logrocket.com/es-modules-in-node-today/
어떤 이유로 Node.js의 낮은 버전이 여전히 남아 있다면 Flavio: https://flaviocopes.com/how-to-enable-es-modules-nodejs/ 의 이 블로그 게시물을 팔로우할 수 있습니다.
그리고 다음을 수행합니다.
- 더하다
"type": "module"
당신의package.json
- 사용하다
--experimental-modules
앱을 시작할 때, 예:node --experimental-modules app.js
또는 최신 버전의 노드에 이미 있는 경우 다음 중 하나를 대신 수행할 수 있습니다.
- 더하다
"type": "module"
당신의package.json
- 파일 이름을 사용하여
.mjs
확장, 최종 결과는 다음과 같습니다.node app.mjs
@아프샤르 모헤비의 대답은 훌륭하고 가장 유용한 점을 다룹니다.
이 답변은 동적 추가를 활용해야 할 수 있는 CI/CD 파이프라인 주변에 색상을 추가하는 것입니다.type
ES6 JavaScript로 작성된 노드로 코드를 실행하기 위한 매개 변수입니다.추가적으로, 저는 이것이 OP의 질문과 밀접한 관련이 있다는 것을 알고 있지만 구글이 저를 여기로 데려왔고, 따라서 이것이 다른 사람에 의해 유용하게 발견되기를 바랍니다.
특히, 우리는 사용할 수 있습니다.--input-type=module
포함이 없는 경우 노드 문서에 따라.
예를 들어 아래 명령을 사용하여 npm 패키지가 성공적으로 업로드되었고 사용할 수 있는지 테스트합니다.
mkdir test-mypkg && cd test-mypkg
echo "import { myFunc } from '@myname/myPkg';" > test.js
npm i @myname/myPkg @babel/core @babel/node && cat test.js | node --input-type=module
참고:
babel
의존성은 ES6에서 ES5로의 완전한 변환을 위해 포함되며 필요하지 않을 수도 있습니다.또한 패키지의 버전을 고정해야 합니다.myPkg
테스트 중입니다!
패키지에 "유형": "모듈" 키를 추가합니다.json은 nodejs에서 es6 모듈을 사용합니다.
언급URL : https://stackoverflow.com/questions/61401475/why-is-type-module-in-package-json-file
'programing' 카테고리의 다른 글
Dunction2에서 SQL의 YEAR(), MONTH() 및 DAY()를 어떻게 사용할 수 있습니까? (0) | 2023.07.25 |
---|---|
Pandas 데이터 프레임의 문자열에 선행 0 추가 (0) | 2023.07.25 |
오류: 'brew link' 단계가 성공적으로 완료되지 않았습니다. (0) | 2023.07.25 |
Oracle 캐스케이드 삭제 (0) | 2023.07.25 |
페이지화 쿼리에서 ROWNUM은 어떻게 작동합니까? (0) | 2023.07.25 |