typescript Tsconfig生成:“--lib”选项得参数必须为:'es5'

m528fe3b  于 2022-11-26  发布在  TypeScript
关注(0)|答案(3)|浏览(968)

尝试在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
yx2lnoni

yx2lnoni1#

调试

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

此列表中未提及es2018。但它是当前TypeScript中的有效选项。

修复

Visual Studio正在使用的TypeScript版本显然是错误的版本。
最快的修复,保证工作,将做一个vs重新安装/项目重新初始化。

2hh7jdfx

2hh7jdfx2#

我设法通过禁用Visual Studio typescript编译器来编译此代码。
将属性true添加到csproj文件中的PropertyGroup(我将其添加到Configuration标签下)。这应该会禁用所有基于msbuild的TS编译。
启用此设置后,您应该不需要tsconfig.json设置compileOnSave/buildOnSave。
如果您使用的是较旧版本的Visual Studio(我已经含蓄地考虑过VS 2017或2015的xproj),则该属性可能为false。

zf9nrax1

zf9nrax13#

检查您的 typescript 版本。
对我来说,问题是嵌套项目中有一个嵌套的package.json,其中typescript版本是旧的1。我的脚本在该文件夹中运行构建

相关问题