해결된 질문
작성
·
107
0
ts-node를 이용해서 실행할 때
터미널이 이 명령어를 입력하면
ts-node src/index.ts
(node:68056) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/dgsw21/Desktop/Web/onbite-typescript/section1/src/index.ts:3
export {};
^^^^^^
SyntaxError: Unexpected token 'export'
at wrapSafe (node:internal/modules/cjs/loader:1281:20)
at Module._compile (node:internal/modules/cjs/loader:1321:27)
at Module.m._compile (/Users/dgsw21/.npm-global/lib/node_modules/ts-node/src/index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Object.require.extensions.<computed> [as .ts] (/Users/dgsw21/.npm-global/lib/node_modules/ts-node/src/index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Function.Module._load (node:internal/modules/cjs/loader:1024:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
at phase4 (/Users/dgsw21/.npm-global/lib/node_modules/ts-node/src/bin.ts:649:14)
at bootstrap (/Users/dgsw21/.npm-global/lib/node_modules/ts-node/src/bin.ts:95:10)
이러한 오류가 뜨는데 어떻게 해결해야하나요ㅠㅠ
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. J.님.
오류 메시지를 보니 Node.js 환경에서 TypeScript 파일을 실행할 때 발생하는 문제로, 특히 ES 모듈 관련 설정 문제로 보입니다. 아래에 해결 방법을 간단히 설명드리겠습니다.
package.json
파일에 "type": "module"
을 추가해 보세요. 이는 Node.js가 해당 프로젝트를 ES 모듈 시스템으로 인식하는 데 필요합니다. {
"type": "module"
}
파일 확장자 변경:
.ts
파일 대신 .mjs
확장자를 사용해 Node.js가 해당 파일을 모듈로 처리할 수 있도록 해보세요.tsconfig.json 설정 조정:
tsconfig.json
파일에서 module
옵션을 ESNext
로 설정하고, ts-node
와 함께 실행할 때는 --esm
플래그를 사용할 수 있습니다. {
"compilerOptions": {
"module": "ESNext"
},
"ts-node": {
"esm": true
}
}
또한, Node.js의 최신 LTS 버전에서는 ts-node
대신 tsx
라는 도구를 사용하는 것도 권장됩니다. 이는 Node.js의 최신 환경에서 발생할 수 있는 호환성 문제를 피할 수 있는 좋은 방법입니다.
유사한 문제를 해결한 기존의 답변을 참조하실 수 있는 링크를 추천드립니다:
tx-node
를 대신한 tsx
사용 방법을 설명하고 있습니다.문제가 해결되지 않거나 추가적인 도움을 원하시면, 더 많은 정보를 제공해 주시면 감사하겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.