Node.js 在tsconfig、commonjs、umd或es6模块中使用什么?
在Node.js 在tsconfig、commonjs、umd或es6模块中使用什么?,node.js,typescript,npm,tsconfig,Node.js,Typescript,Npm,Tsconfig,在tsconfig、commonjs或es6中使用什么模块 如何做决定?我需要输出模块在客户端/后端工作。因此,这里我们讨论的是typescript将使用的选项,该选项用于确定模块的名称,该模块将把您的代码编译为您使用选项target指定的javascript的目标版本 所以你要问的基本问题是,我的目标是什么?我应该瞄准ES3、ES5、ES6、ES7、ES8还是。。。ES42 回答:兼容性 2020年,您可能将目标定为ES5或ES6(这是默认值) (您可以忽略CommonJS,因为它与ES3相
tsconfig
、commonjs或es6中使用什么模块
如何做决定?我需要输出模块在客户端/后端工作。因此,这里我们讨论的是typescript将使用的选项,该选项用于确定模块的名称,该模块将把您的代码编译为您使用选项
target
指定的javascript的目标版本
所以你要问的基本问题是,我的目标是什么?我应该瞄准ES3、ES5、ES6、ES7、ES8还是。。。ES42
回答:兼容性 2020年,您可能将目标定为
ES5
或ES6
(这是默认值)
(您可以忽略CommonJS
,因为它与ES3相关,99%的几率与您无关)
如果您的代码是在浏览器上执行的,我建议您查看所有目标浏览器支持的最新版本,并选择所有浏览器支持的版本 例如:Safari ES6、Firefox ES8、Chrome ES8:所以你选择ES6作为目标,这样你的代码就可以在每个目标浏览器上运行 该网站有助于了解哪些功能受支持,哪些不受支持
如果您的代码是在后端(node.js)上运行的,请查看node.js的哪个版本正在运行。节点的每个版本都有不同的功能 你可以看看
其他材料:
那么,这是否意味着将ES6用于模块(构建npm包)?@OPV我个人会将ES6作为目标。如果您在测试中遇到任何错误,请降级到ES5,但这不太可能,现在每个浏览器和节点都支持大多数ES功能。