作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可能遇到了 TypeScript 配置问题,但我终究无法弄清楚。我在 nodejs v11 中运行并使用 TypeScript v3.4.5。
我只是想用 typescript 编译以下代码:
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"]
}
最佳答案
发生这种情况是因为根据 this comment,webassembly 的类型声明只能从 >3.4 的 typescript 中获得.
解决方案是将 typescript 提高到至少 3.6(?)
关于typescript - 错误 TS2304 : Cannot find name 'WebAssembly' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906718/
我是一名优秀的程序员,十分优秀!