首页 > 解决方案 > 将 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
  }
}

标签: typescript

解决方案


您正在使用 targetes5并且没有传递任何内容lib,因此默认情况下您正在导入DOM, ES5, ScriptHost

尝试"lib": []在您的内部设置compilerOptions,它应该可以工作。

关于这整个事情的更多信息在这里


推荐阅读