尝试在visual studio中生成angular 7应用程序并收到有关tsconfig.json库版本的异常。
下面是当前的tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
生成错误
Severity Code Description Project File Line Suppression State
Error Build:Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string' DocumentLibraryWeb C:\Users\Tim\Source\Repos\project-sparkle\Athena\DocumentLibraryWeb\tsc
3条答案
按热度按时间yx2lnoni1#
调试
此列表中未提及
es2018
。但它是当前TypeScript中的有效选项。修复
Visual Studio正在使用的TypeScript版本显然是错误的版本。
最快的修复,保证工作,将做一个vs重新安装/项目重新初始化。
2hh7jdfx2#
我设法通过禁用Visual Studio typescript编译器来编译此代码。
将属性true添加到csproj文件中的PropertyGroup(我将其添加到Configuration标签下)。这应该会禁用所有基于msbuild的TS编译。
启用此设置后,您应该不需要tsconfig.json设置compileOnSave/buildOnSave。
如果您使用的是较旧版本的Visual Studio(我已经含蓄地考虑过VS 2017或2015的xproj),则该属性可能为false。
zf9nrax13#
检查您的 typescript 版本。
对我来说,问题是嵌套项目中有一个嵌套的package.json,其中typescript版本是旧的1。我的脚本在该文件夹中运行构建