node_modules / @ types / babel _template / index.d.ts:16:28-错误TS2583:找不到名称“设置”

时间:2019-07-16 10:20:57

标签: typescript jestjs

我遵循this article来设置TypeScript NPM软件包。 我第一次运行npm run build(在安装jest之前)。一切顺利。之后,我安装了jest,然后再次运行npm run build,下面出现错误消息:

  

tsc   node_modules/@types/babel__template/index.d.ts:16:28-错误TS2583:找不到名称“ Set”。您是否需要更改目标库?尝试将lib编译器选项更改为es2015或更高版本。

     

16个placeholderWhitelist ?:设置;

     

发现1个错误。

我的节点npm,tsc版本是:node -v // v8.12.0,npm -v // v6.4.1,tsc -v // v3.4.5

这是tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "declaration": true,
    "outDir": "./lib",
    "strict": false
  },
  "include": ["./src"],
  "exclude": ["node_modules", "**/__tests__/*"]
}

我已经在tsconfig.json中排除了“ node_modules”,为什么tsc仍然运行node_modules?

3 个答案:

答案 0 :(得分:1)

就我而言,我无论如何都没有更改项目(见GIT中的更改)。刚刚通过npm将nodejs安装到Windows 10中,并且在编译ASP.NET应用程序的Web项目(与node_modules无关!)时弹出此错误消息。唯一适用于我的解决方案是删除和更新程序包:

  1. npm i -D @ types / node
  2. npm i @ types / node

答案 1 :(得分:0)

尝试添加"lib": ["es6"]或更高版本,并在"target": "es6"中更改compilerOptions

"compilerOptions": {
  "target": "es6",
  "lib": ["es6"],
  "module": "commonjs",
  "declaration": true,
  "outDir": "./lib",
  "strict": false
}

答案 2 :(得分:0)

tsconfig.json

默认情况下,所有可见的@types软件包都包含在您的编译中。任何封闭文件夹的node_modules/@types中的软件包都被视为可见;具体来说,这意味着./node_modules/@types/../node_modules/@types/../../node_modules/@types/等内的软件包。