webpack的代码分割/离

两种方法:

1.webpack的methods----require.ensure

2.ES 2015的Loader spec

//require.ensure语法
require.ensure
        []:dependencies
        callback
        errorCallback
        chunkName

require.include当两个子模块都引用了一个第三方 的模块,就可以将这个第三方的模块放到父模块中;subPageA.js和subPageB.js都依赖moduleA.js

语法:

1 require.include('./moduleA')

代码分割的使用场景:

1.分离业务代码与第三方依赖;

2.分离业务代码和业务公共代码 和第三方依赖

3.分里首次加载和访问后加载的代码

一.require.ensure的使用代码:


    require.ensure(['./subPageA'],function () {
        var subpageA = require('./subPageA')
    },'aaa')


    require.ensure(['./subPageB'],function () {
        var subpageB = require('./subPageB')
    },'bbb')


require.ensure(['lodash'],function () {
    var _ = require('lodash')
    _.join(['1','2'],'3')
},'ooo')

import动态加载的语法:

1 import().then()

具体使用:

1 import(
2      /*webpackChunkName:async-chunk-name*/
3     /*webpackMode:lazy*/
4     modulename   
5 )   

业务代码:

1 import (/* webpackChunkName:'subpageA */ './subPageA')
2      .then(function (subPageA) {
3          console.log(subPageA)
4      })
5 
6 import (/*webpackChunkName:'subPageB'*/ './subpageB')
7         .then(function (subpageB) {
8             console.log(subpageB)
9         })

 

posted @ 2018-10-31 14:45  前端极客  阅读(1360)  评论(0编辑  收藏  举报