Webpack方法是否比RequireJs(或其他AMD)更优化?

时间:2016-12-20 08:31:25

标签: angular webpack requirejs amd commonjs

我有一个理论问题: 我正在开发使用Angular2和Webpack,它对我来说很好。但是本机Angular2使用RequireJs(或另一个异步模块定义)来飞行和按需加载其他js文件。但是webpack将所有文件模块收集在一个文件中,该文件在应用程序启动时加载。我认为按需提供" (异步模块定义)加载比webpack使用更加优化。在这种情况下,您能帮我理解webpack的优势吗?

1 个答案:

答案 0 :(得分:1)

  

但是原生的Angular2使用RequireJs

以前是System.js,但webpack现在是angular cli的一部分。

  

但是webpack将所有文件模块收集在一个文件中,该文件在应用程序启动时加载。

您也可以制作多个捆绑包,您不必只生成一个文件。但确实,webpack并不是一个异步模块加载器。

  

我认为“按需”(异步模块定义)加载比使用webpack更加优化。

Webpack不会动态加载,但捆绑很容易。使用angular 2,您不必担心如何加载模块,因为它们可以是lazy-loaded with the router,webpack和system.js都有可用的配置。

如果你对system.js感觉更舒服,那么它只是一个“风格问题”,如果你觉得webpack更舒服,去webpack或者你不关心捆绑系统,去角度cli。