webpack使用require.ensure将vue页面打包成独立的chunk文件,也可以将多个vue页面合并成一个chunk文件,以实现生产环境按需加载。
下面给出官网的require.ensure函数原型:
require.ensure(
dependencies: String[],
callback: function(require),
errorCallback: function(error),
chunkName: String
)
各个参数含义如下:
1、dependencies:依赖
这是一个字符串数组,通过这个参数,在所有的回调函数代码被执行前,我们可以将所有需要用到的模块进行声明。
2、callback:回调
当所有的依赖都加载完成后,webpack会执行这个回调函数。require 对象的一个实现会作为一个参数传递给这个回调函数。因此,我们可以进一步 require() 依赖和其它模块提供下一步的执行。
3、errorCallback:错误回调
4、chunkName:chunk名称
chunkName 是提供给这个特定的 require.ensure() 的 chunk 的名称。通过提供 require.ensure() 不同执行点相同的名称,我们可以保证所有的依赖都会一起放进相同的文件束(bundle)。
概念说完了,接下以来以vue文件为例论证
在src/pages目录下新建confirm.vue和example.vue
然后在路由文件router/index.js中引入