typescript - 将 typescript 配置为 Node 项目
问题描述
我有这个简单的课程
class Blob { }
但是当我用打字稿编译它时告诉我
../../../usr/lib/node_modules/typescript/lib/lib.dom.d.ts:2537:11
2537 interface Blob {
~~~~
'Blob' was also declared here.
../../../usr/lib/node_modules/typescript/lib/lib.dom.d.ts:2546:13
2546 declare var Blob: {
~~~~
and here.
但是我的项目是基于节点的!它不是网络前端项目,所以我不需要任何dom类型!
编辑 tsconfig
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"allowJs": true,
"outDir": "./dist",
"strict": true,
"rootDirs": [],
"types": ["node"],
"esModuleInterop": true,
"inlineSourceMap": true,
"inlineSources": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
}
}
解决方案
您正在使用 targetes5
并且没有传递任何内容lib
,因此默认情况下您正在导入DOM, ES5, ScriptHost
。
尝试"lib": []
在您的内部设置compilerOptions
,它应该可以工作。
关于这整个事情的更多信息在这里。