vue-cli 關閉熱更新操作
阿新 • • 發佈:2020-09-21
vue 手腳架在使用過程中,更改程式碼會自動更新頁面,非常的方便,但是有些情況向關閉掉這熱更新功能,我使用的是vue-admin-template模板來開發的,所以更改也是基於這個模板的。
在build資料夾下有個webpack.dev.conf.js檔案。
然後新增一個配置項:inline: false 即可關閉熱更新操作。
補充知識: vue多頁面熱更新緩慢原因以及解決方法
熱更新慢的原因
多頁面就是多入口,會生成多個html檔案,之前我基本都是單頁面,因為是單入口沒有這個問題,當偶然間接觸了一個多頁面的專案發現了熱更新很慢的問題,這當然很不舒服,就開始查方法,可能要2,3分鐘,這個和webpack配置裡面的 HtmlWebpackPlugin 外掛效能有問題當生成html檔案多的時候會很慢,越多越慢。原因就是這樣,下面是解決方法。
解決方法
// An highlighted block 'use strict'; const path = require('path'); const glob = require('glob'); const config = require('../config'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin') exports.getPages = function () { const pages = []; const globpath = './src/pages/personCenter1'; const _pages = glob.sync(globpath); for (let page of _pages){ pages.push({ static:glob.sync(path.join(__dirname,'..',page) + '/static')[0],//各個static目錄絕對路徑 name:path.basename(page),html:glob.sync(page + '/app.html')[0],js:page + '/app.js',}) } return pages; }; exports.getEntries = function () { const pages = exports.getPages(); const entries = {}; for (let page of pages) { entries[page.name] = page.js; } return entries; }; exports.getHtmlWebpackPlugins = function () { const pages = exports.getPages(); const htmls = []; let html; for (let page of pages) { html = new HtmlWebpackPlugin({ filename: `${config.build.index}/${page.name}.html`,template: page.html || path.join(__dirname,'src/index1.html'),inject: true,chunks:['manifest','vendor',page.name],minify: { removeComments: true,collapseWhitespace: true,// removeAttributeQuotes: true removeAttributeQuotes: false },chunksSortMode: 'dependency' }); htmls.push(html) } return htmls; };
glob 在webpack中應用於檔案的路徑處理,當搭建多頁面應用時就可以使用glob對頁面需要打包檔案的路徑進行很好的處理,當然也能在熱更新的時候控制區域性哪個檔案下更新。
exports.getPages = function () { const pages = []; const globpath = './src/pages/personCenter1'; const _pages = glob.sync(globpath); for (let page of _pages){ pages.push({ static:glob.sync(path.join(__dirname,}) } return pages; };
globpath 就是你要更新的檔案,例如:const globpath = ‘./src/pages/*'; 說明所有檔案,這裡我只是需要personCenter1下的檔案,如果你開發另一個功能,那就把路徑改為另一個檔案路徑,至此,解決。不足之處歡迎指出。
以上這篇vue-cli 關閉熱更新操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。