问题描述
我正在用 NodeJS、Typescript、Typeorm 和 ts-node 构建一个服务器。
我正在导入的一个文件中的第一行:
import { build } from 'compassql/build/src/schema';
而且,当我运行代码时出现错误:
/Users/paulomenezes/repositories/juno/server/node_modules/compassql/build/src/schema.js:1
import dlBin_ from 'datalib/src/bins/bins';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (node:internal/modules/cjs/loader:1024:16)
at Module._compile (node:internal/modules/cjs/loader:1072:27)
at Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Object.require.extensions.<computed> [as .js] (/Users/paulomenezes/repositories/juno/server/node_modules/ts-node/src/index.ts:384:14)
at Module.load (node:internal/modules/cjs/loader:973:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Module.require (node:internal/modules/cjs/loader:997:19)
at require (node:internal/modules/cjs/helpers:92:18)
at Object.<anonymous> (/Users/paulomenezes/repositories/juno/server/src/service/dashboard.service.ts:1:1)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
[nodemon] app crashed - waiting for file changes before starting...
我要导入的库是 CompassQL。
错误不在我的项目中,而是在库中,当我打开 /node_module/compassql/build/src/schema.js
时,javascript 文件具有导入语法:
import dlBin_ from 'datalib/src/bins/bins';
我认为这是错误,我的依赖项使用了我的项目不支持的语法,但我该如何解决这个问题?
这是我的tsconfig.json
"compilerOptions": {
"target": "ESNext","module": "CommonJS","moduleResolution": "node","outDir": "./build","rootDir": "./src","emitDecoratorMetadata": true,"experimentalDecorators": true,"suppressImplicitAnyIndexErrors": true,"declaration": true,"noErrorTruncation": true,"sourceMap": true,"esModuleInterop": true,"skipLibCheck": true,"importHelpers": true,"strict": false,"allowJs": true,"allowSyntheticDefaultImports": true
},"include": [
"./node_modules/compassql/typings/*.d.ts","./node_modules/vega-lite/typings/*.d.ts","./node_modules/@types/**/*.d.ts","test/**/*.ts","typings/*.d.ts","typings/**/*.d.ts","src/**/*.ts"
],"exclude": ["./node_modules/compassql/typings/json.d.ts","./node_modules/vega-lite/typings/json.d.ts","./node_modules/vega-lite/typings/vega.d.ts"]
}
这是我的package.json
{
"name": "server","version": "0.0.1","description": "Awesome project developed with TypeORM.","devDependencies": {
"@commitlint/cli": "^11.0.0","@commitlint/config-conventional": "^11.0.0","@types/cors": "^2.8.7","@types/d3": "^6.2.0","@types/express": "^4.17.7","@types/morgan": "^1.9.1","@types/multer": "^1.4.4","@types/node": "^8.0.29","@types/papaparse": "^5.2.2","husky": "^4.3.6","nodemon": "^2.0.4","ts-node": "3.3.0","typescript": "^4.1.3","yalc": "^1.0.0-pre.49"
},"dependencies": {
"@junoapp/common": "file:.yalc/@junoapp/common","body-parser": "^1.19.0","clickhouse": "^2.1.5","compassql": "^0.21.2","cors": "^2.8.5","datalib": "^1.9.3","date-fns": "^2.16.0","express": "^4.17.1","firstline": "^2.0.2","got": "^11.7.0","morgan": "^1.10.0","multer": "^1.4.2","papaparse": "^5.3.0","pg": "^8.3.0","reflect-metadata": "^0.1.10","typeorm": "0.2.25","vega-typings": "^0.19.2","winston": "^3.3.3"
},"scripts": {
"start": "nodemon --max-old-space-size=8000 --watch 'src/**/*.ts' --ignore 'src/**/*.spec.ts' --exec 'ts-node' src/index.ts","yalc:update": "yalc update"
},"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}
我的项目在没有这个导入的情况下正常执行:
import { build } from 'compassql/build/src/schema';
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)