【问题标题】:What to use in tsconfig, commonjs, umd, or es6 module?在 tsconfig、commonjs、umd 或 es6 模块中使用什么?
【发布时间】:2020-03-24 14:15:15
【问题描述】:

tsconfig、commonjs 或 es6 中使用什么 module

如何做决定?我需要那个输出模块可以在客户端/后端工作。

【问题讨论】:

    标签: node.js typescript npm tsconfig


    【解决方案1】:

    因此,我们在这里讨论的是 module 选项,typescript 将使用该选项来确定将您的代码编译为您使用选项 target 指定的目标 javascript 版本的模块的名称。

    所以你要问的根本问题是,我的目标是什么?我应该以 ES3、ES5、ES6、ES7、ES8 还是 ... ES42 为目标?


    答案:兼容性

    在 2020 年,您可能会定位到 ES5ES6(这是默认值)。

    (您可以忽略CommonJS,因为它与 ES3 相关,这 99% 的机会与您无关)

    some article


    如果您的代码是在浏览器上执行的,我建议您查看所有目标浏览器支持的最新版本,并选择所有浏览器都支持的版本。

    例如:Safari ES6、Firefox ES8、Chrome ES8:因此您选择 ES6 作为目标,这样您的代码就可以在每个目标浏览器上运行。

    caniuse.com 网站有助于了解支持哪些功能,哪些不支持


    如果您的代码在后端 (node.js) 上运行,请查看正在运行的 node.js 版本。每个版本的节点都有不同的功能。

    你可以看看here



    其他材料:

    What version of Javascript is supported in node.js

    【讨论】:

    • 那么,是不是说用ES6做模块(构建npm包)?
    • @OPV 我个人会针对 ES6。如果您在测试中遇到任何 BUG,请降级到 ES5,但这不太可能,现在每个浏览器和节点都支持大多数 ES 功能。 article
    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多