关于webpack.optimize.CommonsChunkPlugin的使用二

发布时间:2017-5-30 13:27:35 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"关于webpack.optimize.CommonsChunkPlugin的使用二 ",主要涉及到关于webpack.optimize.CommonsChunkPlugin的使用二 方面的内容,对于关于webpack.optimize.CommonsChunkPlugin的使用二 感兴趣的同学可以参考一下。

关于webpack.optimize.CommonsChunkPlugin的使用二

Note:当有多个入口节点的时候,只有所有入口节点都引入了同一个模块的时候,webpack.optimize.CommonsChunkPlugin才会将那个模块提取出来,如果其中一个入口节点没有引入该模块,那么其他引入了该模块的入口节点都会将该模块打包到各自的文件中,这样重复打包造成入口节点文件体积过大。

    entry:{        main:__dirname + '/app/main.js',        index:__dirname + '/app/index.js',        vendor:['./app/vue','./app/jquery-1.8.3.min']    },    output:{        path:__dirname + '/public', //通过HtmlWebpackPlugin插件生成的html文件存放在这个目录下面        filename:'/js/[name].js', //编译生成的js文件存放到根目录下面的js目录下面,如果js目录不存在则自动创建        /*         * chunkFilename用来打包require.ensure方法中引入的模块,如果该方法中没有引入任何模块则不会生成任何chunk块文件         * 比如在main.js文件中,require.ensure([],function(require){alert(11);}),这样不会打包块文件         * 只有这样才会打包生成块文件require.ensure([],function(require){alert(11);require('./greeter')})         * 或者这样require.ensure(['./greeter'],function(require){alert(11);})         * chunk的hash值只有在require.ensure中引入的模块发生变化,hash值才会改变         * 注意:对于不是在ensure方法中引入的模块,此属性不会生效,只能用CommonsChunkPlugin插件来提取         * */        chunkFilename:'js/[chunkhash:8].chunk.js'    },    module:{        loaders:[            {test:/\.css$/,loader:ExtractTextWebpackPlugin.extract('style-loader','css-loader')}        ]    },    plugins:[        new HtmlWebpackPlugin({title:'custom title2',template:__dirname + '/public/tempIndex.html'}),        new ExtractTextWebpackPlugin('/css/index.css'),        //所有入口js节点中引入的公共模块和vendor第三方模块都被打包到vendor.chunk.js文件中了        //如果output中chunkFilename属性生效则节点中引入的公共模块不会打包进来,而是根据chunkFilename的配置另外生成一个chunk.js文件 

     new webpack.optimize.CommonsChunkPlugin('vendor','js/vendor.chunk.[hash:8].js') ]

上一篇:解决魅族MX5卸载debug-app不干净,导致安装、升级不成功的问题
下一篇:【Unity3D基础教程】给初学者看的Unity教程(五):详解Unity3D中的协程(Coroutine)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。