RollupJS模块捆绑器提供了可能的输出列表
在某些情况下应该选择哪种格式吗?
amd – Asynchronous Module Definition, used with module loaders like RequireJS
cjs – CommonJS, suitable for Node and Browserify/Webpack
es – Keep the bundle as an ES module file
iife – A self-executing function, suitable for inclusion as a <script> tag. (If you want to create a bundle for your application, you probably want to use this, because it leads to smaller file sizes.)
umd – Universal Module Definition, works as amd, cjs and iife all in one
system – Native format of the SystemJS
答案 0 :(得分:0)
过去,构建模块和处理依赖项很麻烦。以库或ES2015模块形式的更新解决方案已消除了大部分麻烦。 如果您要开始一个新的模块或项目,ES2015是正确的选择。它将始终得到支持,并且当前使用编译器和polyfills的支持非常出色。另一方面,如果您希望坚持使用普通的ES5代码,则通常在客户端的AMD和服务器的CommonJS / Node之间进行通常的划分。
我推荐本文的讲座,您将在其中找到每个模块系统的所有详细信息 pros 和 cons :