作者:可靠的aaaaaaaaaaa_818 | 来源:互联网 | 2023-05-20 18:50
我还是ES6和模块加载器的新手,我目前正在考虑将浏览器设置与ES6相结合.我想知道如果我使用ES6模块,是否还需要browserify/requirejs.似乎都允许您定义模块并导出它们?browserify/requirejs模块和ES6模块有什么区别?
1> joerideg..:
在玩了一段时间之后,我确实对事情有了更好的理解,也感谢@Andy为Addy Osmani撰写的博客.
有不同的模块系统:AMD(RequireJS),CommonJS(Node)和新的ES6模块语法(当然还有旧的ES5 Global系统).
但是,如果您想在浏览器中使用它们,您仍然需要使用某些模块加载器库加载和连接这些模块,因为浏览器仍然不支持它.为此你可以使用像RequireJS,Browserify,SystemJS或es6-module-loader这样的模块加载器.
SystemJS是我个人的最爱,因为它允许你加载任何模块系统(AMD,CommonJS,ES6),甚至可以在1个应用程序中互换使用它们.
更新:同时Webpack已经可用,也应该被视为模块加载器.
即使我更喜欢RequireJS,也不要忘记Webpack.与SystemJS一样,Webpack也不知道是否使用AMD,CommonJS或ES6作为模块系统.