這篇文章主要介紹webpack如何提取第三方庫,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)臺江,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792我們在用webpack打包是時候,常常想單獨(dú)提取第三方庫,把它作為穩(wěn)定版本的文件,利用瀏覽緩存減少請求次數(shù)。常用的提取第三方庫的方法有兩種
CommonsChunkPlugin
DLLPlugin
區(qū)別:第一種每次打包,都要把第三方庫也運(yùn)行打包一次,第二種方法每次打包只打包項目文件,我們只要引用第一次打包好的第三方壓縮文件就行了
CommonsChunkPlugin方法簡介
我們拿vue舉例
const vue = require('vue') { entry: { // bundle是我們要打包的項目文件的導(dǎo)出名字, app是入口js文件 bundle: 'app', // vendor就是我們要打包的第三方庫最終生成的文件名,數(shù)組里是要打包哪些第三方庫, 如果不是在node——modules里面,可以填寫庫的具體地址 vendor: ['vue'] }, output: { path: __dirname + '/bulid/', // 文件名稱 filename: '[name].js' }, plugins: { // 這里實例化webpack.optimize.CommonsChunkPlugin構(gòu)造函數(shù) // 打包之后就生成vendor.js文件 new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js') } }
然后打包生成的文件引入到html文件里面
<script src="/build/vendor.js"></script> <script src="/build/bundle.js"></script>
DLLPlugin方法簡介
首先準(zhǔn)備兩個文件
webpack.config.js
webpack.dll.config.js
webpack.dll.config.js文件配置如下
const webpack = require('webpack') const library = '[name]_lib' const path = require('path') module.exports = { entry: { vendors: ['vue', 'vuex'] }, output: { filename: '[name].dll.js', path: 'dist/', library }, plugins: [ new webpack.DllPlugin({ path: path.join(__dirname, 'dist/[name]-manifest.json'), // This must match the output.library option above name: library }), ], }
然后webpack.config.js 文件配置如下
const webpack = require('webpack') module.exports = { entry: { app: './src/index' }, output: { filename: 'app.bundle.js', path: 'dist/', }, plugins: [ new webpack.DllReferencePlugin({ context: __dirname, manifest: require('./dist/vendors-manifest.json') }) ] }
然后運(yùn)行
$ webpack --config webpack.dll.config.js $ webpack --config webpack.config.js
html引用方式
<script src="/dist/vendors.dll.js"></script> <script src="/dist/app.bundle.js"></script>
以上是“webpack如何提取第三方庫”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標(biāo)題:webpack如何提取第三方庫-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article34/pogse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、云服務(wù)器、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、定制網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容