美文网首页
基本概念-chunk

基本概念-chunk

作者: 大饼脸me | 来源:发表于2017-06-30 16:19 被阅读339次

一、chunk

这个词应该可以翻译成“代码块”
正常情况下,以entry指定的文件为入口,将入口文件及其依赖打包成一个bundle文件,
然而有些情况下,部分功能是在使用时才会用到的,出于性能优化的需要,我们对这部分功能做成按需加载,这部分的功能将被打包到chunk文件。

用法:

require.ensure([], function(require){
  var moduleA = require("./a");
});

公共模块提取:

var chunks = Object.keys(entries);
plugins: [
  new webpack.optimize.CommonsChunkPlugin({
    name: 'vendors',     //将公共模块提取,生成名为‘verdors’的chunk
    chunks: chunks,      //文件名数组
    minChunks: chunks.length    //提取所有entry共同依赖的模块
]

可用getCommonsChunk来获取chunks:

var glob = require('glob');
var chunks= getCommonsChunk('src/js/page/**/*.js', 'src/js/page/');

function getCommonsChunk(globPath, pathDir) {
    var files = glob.sync(globPath);
    var entries = [],
        entry, dirname, basename, extname;
 
    for (var i = 0; i < files.length; i++) {
        entry = files[i];
        dirname = path.dirname(entry);
        extname = path.extname(entry);
        basename = path.basename(entry, extname);
        entries.push(basename);
    }
    return entries;
}

相关文章

网友评论

      本文标题:基本概念-chunk

      本文链接:https://www.haomeiwen.com/subject/cjcicxtx.html