溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

vue-cli3使用 DllPlugin 實(shí)現(xiàn)預(yù)編譯提升構(gòu)建速度

發(fā)布時(shí)間:2020-08-29 11:24:27 來(lái)源:腳本之家 閱讀:449 作者:Happy222~ 欄目:web開(kāi)發(fā)

在項(xiàng)目打包上有兩個(gè)目標(biāo):減少打包代碼體積和加快打包速度

1. 減少打包體積:

(1)對(duì)于用的比較少的庫(kù),可以去掉(我去掉了jquery以及l(fā)odash),用到的地方,參考源碼自己寫(xiě)

(2)非用不可的又比較大的庫(kù)(我這里用了monaco-edit),使用cdn方式引入

打包體積減少的情況下,自然速度也會(huì)有所提升

2. 加快打包速度:

我目前做了這些:

(1)vue-cli2升級(jí)到vue-cli3,順便webpack2升級(jí)到webpack4,構(gòu)建速度一下子從3分鐘左右提升到不到1分鐘(vue-cli3升級(jí)過(guò)程 https://www.jb51.net/article/160146.htm

(2)使用 DllPlugin 進(jìn)行預(yù)編譯,過(guò)程如下:

·    npm install webpack-cli --save-d

·    獨(dú)立出一套webpack配置webpack.dll.conf,用dllPlugin定義要打包的dll文件;這里我在根目錄下新建webpack.dll.conf.js  內(nèi)容如下

const path = require("path");
const webpack = require("webpack");
module.exports = {
 entry: {
 vendor: [
  "vue-router/dist/vue-router.esm.js",
  "vuex/dist/vuex.esm.js",
  "axios"
 ]
 },
 output: {
 path: path.join(__dirname, "public/vendor"),
 filename: "[name].dll.js",
 library: "[name]_[hash]" // vendor.dll.js中暴露出的全局變量名
 },
 plugins: [
 new webpack.DllPlugin({
  path: path.join(__dirname, "public/vendor", "[name]-manifest.json"),
  name: "[name]_[hash]",
  context: process.cwd()
 })
 ]
};

注意;在vue-cli3中一定要把生成的dll放到public中或者自己去配置publicPath (沒(méi)仔細(xì)看文檔掉進(jìn)坑)

·    package.json中定義運(yùn)行webpack.dll.conf.js的命令

{
···
 "scripts": {
 "serve": "npm link typescript && vue-cli-service serve",
 <strong>"dll": "webpack -p --progress --config ./webpack.dll.conf.js",</strong>
···
 },
···
} 

·    運(yùn)行npm run dll命令生成dll

·    index.html中加載生成的dll文件

<script src="./vendor/vendor.dll.js"></script>

·    以上已經(jīng)完成預(yù)編譯并載入;但是一定不要忘記webpack構(gòu)建時(shí)告訴webpack哪些文件已被預(yù)編譯,使構(gòu)建過(guò)程忽略這些已預(yù)編譯的文件;

具體做法就是在vue.config.js的配置文件中添加

const webpack = require("webpack");
module.exports = {
···
 configureWebpack: {
 plugins: [
  new webpack.DllReferencePlugin({
  context: process.cwd(),
  manifest: require("./public/vendor/vendor-manifest.json")
  })
 ]
 }
···
} 

總結(jié)

以上所述是小編給大家介紹的vue-cli3使用 DllPlugin 實(shí)現(xiàn)預(yù)編譯提升構(gòu)建速度 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI