可以更改TypeScript compilerOptions-> lib与NPM包或依赖项冲突

时间:2018-03-26 11:06:31

标签: javascript typescript firebase google-cloud-functions

我对tsconfig.json中的compilerOptions-> lib属性有疑问。

情况是我正在使用TypeScript编写的Firebase Cloud Functions项目,我需要方法Array.prototype.includes()。但我无法构建,因为不支持includes(),快速Google搜索显示我只需要将库从ES6更改为ES2016,这会更改Ecmascript的版本。

我的问题是。除了给我更新/更多的功能之外,更改lib属性是否会做任何事情?

我担心它是否会以某种方式与Firebase Cloud Functions或我使用的NodeJS版本或NPM包/依赖项发生冲突。

1 个答案:

答案 0 :(得分:2)

lib标志没有改变Typescript编译器的输出,target标志就是这样。

lib只包含您在编译过程中指定的库版本的类型,因此编译器不会抱怨。 (这些类型可以在node_modules \ typescript \ lib下找到)

如果您的目标运行时不支持您使用的功能(在这种情况下包括()),您有责任使用polyfill提供它。在编译的输出中,Typescript实际上并不包含你的库。