Compilation 类型脚本:使用lib.core.es6.d.ts

Compilation 类型脚本:使用lib.core.es6.d.ts,compilation,typescript,ecmascript-6,building,Compilation,Typescript,Ecmascript 6,Building,我正在使用typescript,并尝试使用ES6映射,但出现编译错误 我发现我需要引用文件lib.core.es6.d.ts(),我知道它在我的文件系统中的位置。但是,我找不到任何指定如何使用该文件的内容 现在,我正在编译一个文件夹中的两个文件 tsc——模块amd treenode.ts treemerge.ts 如何在其中一个文件中使用es6类型?如果答案是“按照SiteX所说的方式重组项目”,我会抱怨,但我想这没关系 但是,我找不到任何指定如何使用该文件的内容 您需要手动从github获取

我正在使用typescript,并尝试使用ES6映射,但出现编译错误

我发现我需要引用文件
lib.core.es6.d.ts
(),我知道它在我的文件系统中的位置。但是,我找不到任何指定如何使用该文件的内容

现在,我正在编译一个文件夹中的两个文件
tsc——模块amd treenode.ts treemerge.ts

如何在其中一个文件中使用es6类型?如果答案是“按照SiteX所说的方式重组项目”,我会抱怨,但我想这没关系

但是,我找不到任何指定如何使用该文件的内容


您需要手动从github获取该文件,并使用
--noLib
自己传入lib文件来编译您的项目

默认构建目标是针对
ES5
,然后强制编译器使用默认的
lib.core.d.ts
,因为它不能假定
ES6
类型可用

如果将目标设置为
ES6
,编译器将自动将
lib.core.ES6.d.ts
作为目标,而无需您自己这样做。这样做的缺点是编译后的输出也将是符合
ES6
的JavaScript,而不是
ES5
。例如,这意味着,如果您在TypeScript代码中使用任何类,编译器将向输出文件输出JavaScript类

要解决这个问题,您可以手动将引用更改为basarat提到的
lib.core.es6.d.ts
,或者添加类似的内容,将
es6
代码自动传输到兼容的
ES5
代码

例如,我最近移动了
omnisharp atom
omnisharp client
ES6
为目标,并使用babel作为额外的传输工具来生成
ES5
源文件

像这样吗?{“compileOnSave”:true,“compilerOptions”:{“target”:“es5”,“noLib”:true},“files”:[“app/*.ts”,“scripts/lib.es6.d.ts”]}