我收到一条错误消息,我已经在网络上发现了两次,但似乎都无法解决我所在环境中的问题。我将节点12
与TypeScript和Express
一起使用。
当我执行npm run tsc
时,一切似乎都编译良好。另一方面,执行npm run test
测试的Mocha
失败,并显示以下错误消息:
...tests\test_database.ts:1
import { Database } from "./../server/database";
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1047:16)
与Database
一样照常导出export class Database { ...
类
有趣的是,导入不在第1行,实际上不在第2行。看来编译没有通过?但是npm run tsc
成功了吗?有人知道问题可能在这里吗?
tsconfig.json
{
"compilerOptions": {
"resolveJsonModule": true,
"target": "es2018",
"module": "esnext",
"sourceMap": true,
"downlevelIteration": true,
"strict": true,
"noImplicitAny": true,
"moduleResolution": "node",
"esModuleInterop": true,
"experimentalDecorators": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
}
}
package.json
{
"name": "foo-server",
"version": "1.0.0",
"description": "",
"main": "server\\server.js",
"type": "module",
"scripts": {
"tsc": "tsc",
"test": "mocha -r ts-node/register ./tests/**/test_*.ts"
},
...
}