我还是 ES6 和模块加载器的新手,我目前正在考虑将 browserify 设置与 ES6 结合起来.我想知道如果我使用 ES6 模块,我是否还需要 browserify/requirejs.似乎两者都允许您定义模块并导出它们?browserify/requirejs 模块和 ES6 模块有什么区别?
I'm still new to ES6 and module loaders and I'm currently looking at combining a browserify setup with ES6. I was wondering if I would still need browserify/requirejs if I'm using ES6 modules. Seems like both allow you to define modules and export them? What is the difference between browserify/requirejs modules and ES6 modules?
推荐答案玩了一段时间后,我确实对事情有了更好的理解,还要感谢@Andy 提供的Addy Osmani 的博客.
After playing around for a while I did get a better understanding of things, also thanks to @Andy for the blog by Addy Osmani.
有不同的模块系统:AMD(RequireJS)、CommonJS(Node)和新的 ES6 模块语法(当然还有旧的 ES5 Global 系统).
There are different module systems: AMD (RequireJS), CommonJS (Node) and the new ES6 module syntax (and the old ES5 Global system of course).
但是,如果您想在浏览器中使用这些模块,您仍然需要使用一些模块加载器库加载和连接这些模块,因为浏览器仍然不支持.为此,您可以使用模块加载器,例如 RequireJS、浏览、SystemJS 或 es6-module-loader.
However if you want to use those in your browser you still need to load and wire those modules with some module loader library because browsers still do not support that. For that you could use a module loader like RequireJS, Browserify, SystemJS or es6-module-loader.
SystemJS 是我个人的最爱,因为它允许您加载任何模块系统(AMD、CommonJS、ES6),甚至可以在 1 个应用程序中互换使用它们.
SystemJS is my personal favorite because it allows you to load any module system (AMD, CommonJS, ES6) and even use them interchangably in 1 app.
更新:与此同时,Webpack 已经可用,也应该被视为模块加载器.
Update: In the mean time Webpack has become available and should be considered as a module loader as well.
更多推荐
browserify/requirejs 模块和 ES6 模块有什么区别
发布评论