webpack實踐之DLLPlugin 和 DLLReferencePlugin的使用教程
DLLPlugin 和 DLLReferencePlugin的使用
DLLPlugin 和 DLLReferencePlugin 用某種方法實現(xiàn)了拆分 bundles,同時還大大提升了構建的速度。
1.首先build文件夾添加----webpack.dll.config.js:
var path = require("path");
var webpack = require("webpack");
module.exports = {
// 要打包的模塊的數(shù)組
entry: {
vendor: ['vue/dist/vue.esm.js','vue-router']
},
output: {
path: path.join(__dirname, '../static/js'), // 打包后文件輸出的位置
filename: '[name].dll.js',// vendor.dll.js中暴露出的全局變量名。
library: '[name]_library' // 與webpack.DllPlugin中的`name: '[name]_library',`保持一致。
},
plugins: [
new webpack.DllPlugin({
path: path.join(__dirname, '.', '[name]-manifest.json'),
name: '[name]_library',
context: __dirname
}),
]
};
2.在package.json的scripts里加上:
"dll": "webpack --config build/webpack.dll.config.js",
3.運行npm run dll 在static/js下生成vendor-manifest.json;
4.在build/webpack.base.conf.js里加上:
// 添加DllReferencePlugin插件
plugins: [
new webpack.DllReferencePlugin({
context: __dirname,
manifest: require('./vendor-manifest.json')
})
],
5.然后在index.html中引入vendor.dll.js:
<div id="app"></div> <script src="./static/js/vendor.dll.js"></script>
至此,配置之后的:
可以看到npm run build后的時間大幅度減少,在dist打包體積上也比之前的小。在項目優(yōu)化中,可以很大程度上加快項目的構建速度和減少項目的打包體積。
總結
以上所述是小編給大家介紹的webpack實踐之DLLPlugin 和 DLLReferencePlugin的使用教程,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章
javascript從右邊截取指定字符串的三種實現(xiàn)方法
這篇文章主要介紹了javascript從右邊截取指定字符串的三種實現(xiàn)方法。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
JavaScript中for of和for in的區(qū)別詳解
對于初學者,我們或許只知道無論是for of還是for in他們都有一個功能那就是遍歷,至于具體的細節(jié)或許我們不是很清楚,那么接下來我們就來詳細的區(qū)分一下for of和for in他們之間的不同點和相同點,需要的朋友可以參考下2023-06-06

