打字稿:使用 lib.core.es6.d.ts
Typescript: use lib.core.es6.d.ts
我正在使用打字稿,并尝试使用 ES6 映射,但出现编译错误。
我发现我需要引用文件 lib.core.es6.d.ts
(),而且我知道它在我的文件系统中的什么位置。但是,我找不到任何指定如何使用该文件的内容。
现在,我正在编译的文件夹中只有两个文件
tsc --module amd treenode.ts treemerge.ts
如何在其中一个文件中使用 es6 类型?如果答案是"restructure your project the way site X says to",我会发牢骚,但我想没关系。
However, I can't find anything that specifies what to do to use that file.
您需要从 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
的引用,或者您可以添加类似 babel 的内容,将 ES6
代码转换为合规 ES5
自动为您提供代码。
举个例子,我最近将 omnisharp-atom
和 omnisharp-client
转移到目标 ES6
并使用 babel 作为额外的转译器来生成 ES5
源文件。
https://github.com/OmniSharp/omnisharp-node-client/blob/master/tsconfig.json#L7-L9
https://github.com/OmniSharp/omnisharp-atom/blob/master/gulpfile.js#L45-L52
https://github.com/OmniSharp/omnisharp-node-client/blob/master/gulpfile.js#L54-L61
我正在使用打字稿,并尝试使用 ES6 映射,但出现编译错误。
我发现我需要引用文件 lib.core.es6.d.ts
(
现在,我正在编译的文件夹中只有两个文件
tsc --module amd treenode.ts treemerge.ts
如何在其中一个文件中使用 es6 类型?如果答案是"restructure your project the way site X says to",我会发牢骚,但我想没关系。
However, I can't find anything that specifies what to do to use that file.
您需要从 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
的引用,或者您可以添加类似 babel 的内容,将 ES6
代码转换为合规 ES5
自动为您提供代码。
举个例子,我最近将 omnisharp-atom
和 omnisharp-client
转移到目标 ES6
并使用 babel 作为额外的转译器来生成 ES5
源文件。
https://github.com/OmniSharp/omnisharp-node-client/blob/master/tsconfig.json#L7-L9 https://github.com/OmniSharp/omnisharp-atom/blob/master/gulpfile.js#L45-L52 https://github.com/OmniSharp/omnisharp-node-client/blob/master/gulpfile.js#L54-L61