接触模块化后,使用的就是webpack工具,模块的的输出输入都是用es6的export、import;
请问使用了es6后还有必要使用requirejs吗,es6能完全替代requirejs吗
接触模块化后,使用的就是webpack工具,模块的的输出输入都是用es6的export、import;
请问使用了es6后还有必要使用requirejs吗,es6能完全替代requirejs吗
import/export是es6推出的一种更直观方便
的模块化的写法,偏向于commonJS
的写法,需要编译环境。
而requireJS则是通过回调来处理模块之间的依赖,偏向于AMD
的写法。
语言在不断地进化,在webpack的帮助下,我们可以更爽
地写模块,但并不能说requireJS就没什么用,被替代了,只能说会用到requireJS的机会更少了一些而已
。
就好比过去,我们传输异步数据会用到xml,后来json被普遍接受了,但并不能说json就完全替代了xml,xml还是存在着的,只是用的少了,但不可避免,会有更适合地场景需要用到xml一样。
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
如果你用 webpack 就没有必要用 RequireJS 了。
原因如下:
RequireJS 是基于 AMD 规范的模块加载器,它不依赖于任何 JavaScript 新语言特性,可以直接运行在浏览器环境中。这是个比较老、曾经非常流行的模块加载器,它主要提供的功能是:
ES6 的 Modules:
但是 es6 Modules 是JavaScript新特性,目前浏览器还不支持,不能直接用,就算以后可以直接用了,如果希望做到按需、异步加载的话也需要配合相应的加载器来加载 JS 文件。
但是如果你用 webpack 的话,直接用 ES6 是最好的选择。因为:
是完全覆盖 RequireJS 的所有功能的。