我在这里遵循了各种各样的线程,但我无法让它工作 . 我想在typescript中编译以下代码 . 这段代码来自一个单独的js文件,但由于我的问题来自模块包含,我正在编译这个:
import tweetnacl from "./node_modules/tweetnacl/nacl";
console.log(`here we are`);
我尝试过:使用这个tsconfig.json
{
"compilerOptions": {
"target":"ES6",
"moduleResolution": "classic",
}
}
使用tsc --module es6 --target es6进行编译并为模块npm install @ types / node的每个选项进行访问也不适用于我 .
我运行tsc --module commonjs test.ts并得到
node_modules/tweetnacl/nacl.d.ts(3,1): error TS1128: Declaration or statement expected.
node_modules/tweetnacl/nacl.d.ts(3,11): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(3,25): error TS1005: '{' expected.
node_modules/tweetnacl/nacl.d.ts(21,81): error TS1110: Type expected.
node_modules/tweetnacl/nacl.d.ts(22,9): error TS1131: Property or signature expected.
node_modules/tweetnacl/nacl.d.ts(22,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(23,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(24,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(30,9): error TS1131: Property or signature expected.
node_modules/tweetnacl/nacl.d.ts(30,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(31,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(32,5): error TS1128: Declaration or statement expected.
node_modules/tweetnacl/nacl.d.ts(36,110): error TS1110: Type expected.
node_modules/tweetnacl/nacl.d.ts(37,86): error TS1110: Type expected.
node_modules/tweetnacl/nacl.d.ts(52,9): error TS1131: Property or signature expected.
node_modules/tweetnacl/nacl.d.ts(52,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(53,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(54,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(55,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(56,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(57,5): error TS1128: Declaration or statement expected.
node_modules/tweetnacl/nacl.d.ts(74,74): error TS1110: Type expected.
node_modules/tweetnacl/nacl.d.ts(77,9): error TS1131: Property or signature expected.
node_modules/tweetnacl/nacl.d.ts(77,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(78,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(79,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(80,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(81,5): error TS1128: Declaration or statement expected.
node_modules/tweetnacl/nacl.d.ts(85,9): error TS1131: Property or signature expected.
node_modules/tweetnacl/nacl.d.ts(85,18): error TS1005: ';' expected.
node_modules/tweetnacl/nacl.d.ts(86,5): error TS1128: Declaration or statement expected.
node_modules/tweetnacl/nacl.d.ts(87,1): error TS1128: Declaration or statement expected.
如何让节点模块在打字稿中工作?提前致谢
编辑:更新tsc后
tsc --v
Version 3.0.1
我收到了这个错误
test.ts:1:8 - error TS1192: Module '"./node_modules/tweetnacl/nacl"' has no default export.
1 import tweetnacl from "tweetnacl";
~~~~~~~~~
1 回答
假设您的
node_modules/tweetnacl/nacl.d.ts
文件看起来像this,基于错误的行号和列号,看起来TypeScript在解析TypeScript 2.0中添加的多种语言结构时遇到了问题 . 如果您使用的是早于2.0版的TypeScript版本(截至撰写本文时已有两年了!),请尝试升级 .Round 2:
tweetnacl
模块确实没有默认导出 . 看起来导入应该是: