【发布时间】:2021-02-13 00:57:15
【问题描述】:
在需要顶级等待之后,我现在花了一个小时寻找新错误的解决方案。到目前为止我尝试过的所有其他方法都没有解决错误,例如将 "type": "module" 添加到 package.json 文件中。
启动服务时报错信息为Cannot use import statement outside a module。
如果我将更改 "module": "ESNext", 恢复为 "module": "commonjs",,它可以正常工作(除了必须删除 await 关键字并以某种方式重构以在没有 await 的情况下工作)。
另外,我使用 ts-node-dev 运行服务,可以在 package.json 文件中看到。
- 我需要的新包是kafkajs。
- 节点版本:v14.9.0
- TypeScript 版本:4.0
package.json
{
"name": "",
"version": "1.0.0",
"description": "microservice",
"main": "src/index.ts",
"author": "",
"type": "module",
"license": "MIT",
"scripts": {
"dev": "NODE_ENV=development tsnd --respawn --files src/index.ts",
"prod": "NODE_ENV=production tsnd --respawn --transpile-only --files src/index.ts",
"test": "mocha --exit -r ts-node/register tests/**/*.spec.ts",
"eslint": "eslint src/**/*.ts"
},
tsconfig.json
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "node",
"outDir": "dist",
"sourceMap": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true
},
"ts-node": {
"files": true,
"transpileOnly": true
},
"include": ["src/**/*.ts", "declariations/**.d.ts"],
"exclude": ["node_modules", ".vscode"]
}
【问题讨论】:
标签: node.js typescript async-await top-level-await