【发布时间】:2020-03-24 14:15:15
【问题描述】:
在tsconfig、commonjs 或 es6 中使用什么 module?
如何做决定?我需要那个输出模块可以在客户端/后端工作。
【问题讨论】:
标签: node.js typescript npm tsconfig
在tsconfig、commonjs 或 es6 中使用什么 module?
如何做决定?我需要那个输出模块可以在客户端/后端工作。
【问题讨论】:
标签: node.js typescript npm tsconfig
因此,我们在这里讨论的是 module 选项,typescript 将使用该选项来确定将您的代码编译为您使用选项 target 指定的目标 javascript 版本的模块的名称。
所以你要问的根本问题是,我的目标是什么?我应该以 ES3、ES5、ES6、ES7、ES8 还是 ... ES42 为目标?
答案:兼容性。
在 2020 年,您可能会定位到 ES5 或 ES6(这是默认值)。
(您可以忽略CommonJS,因为它与 ES3 相关,这 99% 的机会与您无关)
如果您的代码是在浏览器上执行的,我建议您查看所有目标浏览器支持的最新版本,并选择所有浏览器都支持的版本。
例如:Safari ES6、Firefox ES8、Chrome ES8:因此您选择 ES6 作为目标,这样您的代码就可以在每个目标浏览器上运行。
caniuse.com 网站有助于了解支持哪些功能,哪些不支持
如果您的代码在后端 (node.js) 上运行,请查看正在运行的 node.js 版本。每个版本的节点都有不同的功能。
你可以看看here
其他材料:
【讨论】: