【发布时间】:2018-08-11 06:31:02
【问题描述】:
我正在使用 TypeScript 开发许多 NPM 包,我想知道支持不同目标架构的最佳方式。
如果您编译为 ES3,您将获得最广泛的支持,但还有额外的兼容性样板(大小,部分无法解析)。如果您以 esnext 为目标,则基本上没有样板文件(干净的输出代码!),但支持非常有限。
问题在于 TypeScript 编译器通常不会转换 JS 代码或来自node_modules 的任何代码。因此,如果你例如将库编译到 ES6 并且有人想在他们的浏览器应用程序中使用它(针对 ES3 或 ES5),那么他们将无法只使用该库。
这里的最佳做法是什么?我应该如何配置我的package.json 和tsconfig.json?如果图书馆用户需要做某事,这里首选的方式是什么?
非常感谢!
【问题讨论】:
-
如果是 TS 发出 JS,为什么这很重要? “我应该用什么级别的 ES 兼容来编写我的 JS?”是一个与编译器无关的问题。
标签: javascript typescript npm package compatibility