问题描述
我正在尝试使用 NCC 转译和捆绑我的打字稿项目,但出现了一个奇怪的错误,我似乎无法理解,也无法在 google 上找到任何参考。我正在从命令行运行 NCC:
❯ yarn run ncc build ./test.ts -o build/
注意:“test.ts”的内容只是:console.log('Hello!');
并得到以下输出:
ncc: Version 0.26.2
ncc: Compiling file index.js
Error: Module build failed (from ./node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js):
Error: Could not load TypeScript compiler with NPM package name `/home/edu/repos/some-project/node_modules/@vercel/ncc/dist/ncc/typescript.js`. Are you sure it is correctly installed?
at Object.loader (/home/edu/repos/some-project/node_modules/@vercel/ncc/dist/ncc/loaders/ts-loader.js.cache.js:1:352078)
at /home/edu/repos/some-project/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js:1:3258300
at /home/edu/repos/some-project/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js:1:2210953
at eval (eval at create (/home/edu/repos/some-project/node_modules/@vercel/ncc/dist/ncc/index.js.cache.js:1:1140143),<anonymous>:11:1)
TypeScript 和 NCC 都是本地安装的。我已经尝试了两者的全球安装,结果是一样的。
如果我尝试使用 ts-node 做同样的事情,我也会得到一个错误:
❯ yarn run ts-node test.ts
yarn run v1.22.0
$ /home/edu/repos/WB-DataCollectorService/node_modules/.bin/ts-node test.ts
/home/edu/repos/WB-DataCollectorService/node_modules/typescript/lib/typescript.js:7943
An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_o
SyntaxError: Unexpected end of input
at wrapSafe (internal/modules/cjs/loader.js:931:16)
at Module._compile (internal/modules/cjs/loader.js:979:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
at Module.load (internal/modules/cjs/loader.js:879:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:903:19)
at require (internal/modules/cjs/helpers.js:74:18)
at loadCompiler (/home/edu/repos/some-project/node_modules/ts-node/dist/index.js:186:20)
at create (/home/edu/repos/some-project/node_modules/ts-node/dist/index.js:190:28)
at Object.register (/home/edu/repos/some-project/node_modules/ts-node/dist/index.js:162:21)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
这是我的 package.json:
{
"name": "some-project","version": "1.0.0","main": "src/index.ts","license": "MIT","dependencies": {
"@vercel/ncc": "^0.26.2","async-mqtt": "^2.6.1","chalk": "^4.1.0","graphql-request": "^3.4.0","is-ip": "^3.1.0","lowdb": "^1.0.0","mem": "^8.0.0","moleculer": "^0.14.11","mqtt": "^4.2.6","nats": "^1.4.12","node-opcua": "^2.28.3","rxjs": "^6.6.3","typescript": "^4.1.3","winston": "^3.3.3","ts-node": "8.10.2"
},"devDependencies": {
"@types/lowdb": "^1.0.9","@types/node": "^14.14.16"
},"scripts": {
"dev": "ts-node src/index.ts","debug": "node --inspect -r ts-node/register src/index.ts"
}
}
我尝试了许多不同版本的 typescript 和 ncc,以及 package.json 中的许多其他更改,但它总是相同的。
与我的 tsconfig.json 相同,没有任何更改有所不同,无论如何这是当前的 tsconfig.json:
{
"compilerOptions": {
"outDir": "build","target": "ES2019","lib": [
"es6","dom","es2017","es2018","es2019"
],"esModuleInterop": true,"module": "commonjs","moduleResolution": "node","experimentalDecorators": true,"emitDecoratorMetadata": true,"resolveJsonModule": true
}
}
我正在运行节点版本 12.19.0。
我的想法不多了,不知道还能在哪里查看,其他项目(至少有八个)使用 TypeScript、NCC、ts-node 等完美运行......相同的 tsconfig.json 文件和构建命令...
预先感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)