![](/img/trans.png)
[英]Issues compiling nodejs code with ts-node (Cannot use import statement outside a module)
[英]Executing typescript code using ts-node gives “Cannot use import statement outside a module” error
我正在嘗試運行apollo-server
並且我編寫的代碼在TypeScript
中。
我的代碼文件夾包含一個tsconfig.json
,如下所示:
{
"compilerOptions": {
"target": "esnext",
"lib": [
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true
},
"include": [
"server"
]
}
我正在運行的命令如下:
$ npx ts-node ./server/index.ts
如果我刪除 tsconfig.json (我當然不能這樣做),上面的命令可以正常工作。 我不確定哪個配置實際上導致了問題。
您正在搜索的設置是"module": "commonjs"
。 由於 ts-node 在 nodejs 環境中執行你的代碼,你必須使用它的模塊系統。 如果您需要將您的配置作為項目的默認配置,您可以創建第二個 tsconfig tsconfig.node.json
並使用ts-node --project <tsconfig.json>
定位它
tsconfig.node.json
:
{
"extends": "./",
"compilerOptions": {
"module": "commonjs",
},
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.