Typescript 错误TS2304:找不到名称';网络组装';
我可能有一个TypeScript配置问题,但就我的一生而言,我无法解决它。我在nodejsv11中运行,并使用typescriptv3.4.5 我只是尝试用typescript编译以下代码:Typescript 错误TS2304:找不到名称';网络组装';,typescript,webassembly,Typescript,Webassembly,我可能有一个TypeScript配置问题,但就我的一生而言,我无法解决它。我在nodejsv11中运行,并使用typescriptv3.4.5 我只是尝试用typescript编译以下代码: const { Module, Instance } = WebAssembly; 这将生成错误: error TS2304: Cannot find name 'WebAssembly'. 奇怪的是,如果我将鼠标悬停在VSCode中的所有3种类型上,它会正确解析这些类型,并且不会显示任何错误 如果我使
const { Module, Instance } = WebAssembly;
这将生成错误:
error TS2304: Cannot find name 'WebAssembly'.
奇怪的是,如果我将鼠标悬停在VSCode中的所有3种类型上,它会正确解析这些类型,并且不会显示任何错误
如果我使用此解决方法,它将成功编译并运行:
const { Module, Instance } = (global as any).WebAssembly;
我必须做什么才能让TS正确识别WebAssembly
这是我当前的tsconfig.json
文件:
{
"compilerOptions": {
"inlineSourceMap": true,
"noUnusedLocals": true,
"outDir": "build",
"target":"es2018",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"esModuleInterop": true,
"module": "commonjs",
"moduleResolution": "node",
"noUnusedParameters": false
},
"exclude": ["node_modules"],
"include": ["src/**/*.ts"]
}
编辑:它可用于此配置:
{
"compilerOptions": {
"removeComments": true,
"sourceMap": true,
"target": "es6",
"module":"commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"resolveJsonModule": true,
"lib": ["es2018", "dom"],
"outDir": "build",
"sourceRoot": "src",
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"include": ["**/*.ts"],
"exclude": ["**/node_modules"]
}
我也有同样的问题。一些建议是在编译器选项中添加
“lib”:[“dom”]
,但这对我不起作用。是的,这似乎解决了问题。我会用一个有效的配置更新这个问题,如果它为您解决了问题,您可以提交答案,我会将其标记为正确答案。通过此配置,我现在得到的属性“InstanceStreaming”在类型“typeof WebAssembly”上不存在。
看起来该函数在nodejs中还不可用。也许从“lib”中删除“es2018”?我不确定。