我遵循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?
答案 0 :(得分:1)
就我而言,我无论如何都没有更改项目(见GIT中的更改)。刚刚通过npm将nodejs安装到Windows 10中,并且在编译ASP.NET应用程序的Web项目(与node_modules无关!)时弹出此错误消息。唯一适用于我的解决方案是删除和更新程序包:
答案 1 :(得分:0)
尝试添加"lib": ["es6"]
或更高版本,并在"target": "es6"
中更改compilerOptions
"compilerOptions": {
"target": "es6",
"lib": ["es6"],
"module": "commonjs",
"declaration": true,
"outDir": "./lib",
"strict": false
}
答案 2 :(得分:0)
默认情况下,所有可见的@types
软件包都包含在您的编译中。任何封闭文件夹的node_modules/@types
中的软件包都被视为可见;具体来说,这意味着./node_modules/@types/
,../node_modules/@types/
,../../node_modules/@types/
等内的软件包。