browserify/requirejs 模块和 ES6 模块有什么区别 [英] What is the difference between browserify/requirejs modules and ES6 modules

查看:21
本文介绍了browserify/requirejs 模块和 ES6 模块有什么区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我还是 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浏览SystemJSes6-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 模块有什么区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆