0

接触模块化后,使用的就是webpack工具,模块的的输出输入都是用es6的export、import;
请问使用了es6后还有必要使用requirejs吗,es6能完全替代requirejs吗

2017-09-30 提问

查看全部 3 个回答

1

已采纳

如果你用 webpack 就没有必要用 RequireJS 了。

原因如下:

RequireJS 是基于 AMD 规范的模块加载器,它不依赖于任何 JavaScript 新语言特性,可以直接运行在浏览器环境中。这是个比较老、曾经非常流行的模块加载器,它主要提供的功能是:

  1. 提供了模块化得支持。
  2. 可以异步、按需加载模块,这样就可以在用到某个 JS 模块的时候再去加载它,能提高首屏加载速度。

ES6 的 Modules:

  1. 提供了模块化的支持。

但是 es6 Modules 是JavaScript新特性,目前浏览器还不支持,不能直接用,就算以后可以直接用了,如果希望做到按需、异步加载的话也需要配合相应的加载器来加载 JS 文件。

但是如果你用 webpack 的话,直接用 ES6 是最好的选择。因为:

  1. webpack 可以通过 babel-loader 来转义 ES6 为浏览器可以支持的方式。
  2. webpack 的 code split 功能可以实现按需、异步加载。

是完全覆盖 RequireJS 的所有功能的。

推广链接