1.通過nprogress新增進度條效果
安裝執行依賴
匯入nprogress包對應的js和css
import nprogress from 『nprogress』
import 『nprogress/nprogress.css』
在axios的request***中展示進度條
nprogress.start( )
在axios的response***中隱藏進度條
nprogress.done( )
2.解決serve命令中提示的eslint語法錯誤
//自建立的.prettierrc檔案
與格式化工具衝突時找到.prettierrc檔案
「printwidth」:200 -->預設是80,一行可以容納多少字元,換行
3.在執行build命令期間移除所有的console
安裝開發依賴 babel-plugin-transform-remove-console
在babel.config.js配置檔案中,給plugins陣列新增節點』transform-remove-console』
「plugins」: [
[「component」,
],「transform-remove-console」
]在vue ui 中執行build命令,使用live-server執行打包後的專案,觀察控制台有沒有列印
cnpm i live-server -g 安裝live-server
使用live-server執行檔案 live-server --port=***x
4.只在發布階段移除所有的console
babel.config.js配置檔案是執行、開發階段共享的,當我們使用serve命令,執行專案時,console也沒有了
判斷當前所處階段/編譯模式,再視情況給plugins陣列新增節點
//專案發布階段需要用到的babel外掛程式
const proplugins =
//判斷當前的編譯模式:開發or發布 process.env.node_env–>node環境變數
if (process.env.node_env === 『production』)
注:打包後,在開發模式啟動專案,會報錯 uncaught typeerror: cannot redefine property: $router
打包後的dist檔案只能通過live-server --port=***x以服務的形式執行;直接雙擊會有檔案路徑問題,需要我們在vue.config.js中配置publicpath:』./』,
10.通過cdn優化elementui的打包
雖然在開發階段,我們啟用了element-ui元件的按需載入,盡可能地減少了打包的體積,但是那些被按需載入的元件,還是占用了較大的檔案體積。此時,我們可以將element-ui中的元件,也通過cdn的形式來載入,這樣能夠進一步減小打包後的檔案體積
具體操作流程如下:
在main-prod.js中,注釋掉element-ui按需載入的**
在index.html的頭部區域中,通過cdn載入element-ui的js和css樣式
// import 『./plugins/element.js』
注意: 再次打包之前,關閉執行專案,防止資源占用,打包出現問題 商品分類欄,操作列沒有顯示,沒用到slot-scope也要寫 pugin/element.js被注釋了,外掛程式的掛載還是得寫到main.js中 樣式可以刪,元件的註冊不能刪 import treetable from 'vue-table-with-tree-grid' import vuequilleditor from 'vue-quill-editor'
//掛載treetable為全域性元件、掛載富文字編輯器
vue.component('tree-table', treetable)
vue.use(vuequilleditor)
11.根據不同的環境定製不同的首頁內容
解決cannot redefine property: $router問題,問題出現原因import匯入和cdn資源引用重複衝突
我們需要在index.html中來判斷當前環境為開發階段還是發布階段,但是在index.html中無法獲取到process.env.node_env,但是index.html中可以獲取到htmlwebpackplugin該外掛程式的配置資料。
htmlwebpackplugin外掛程式的作用:
獲取到public下的index.html,在打包後的dist根目錄下生成乙個新的index.html
自動引入打包的js和css檔案
如果是發布階段,我們給htmlwebpackplugin新增乙個標識為true
//使用外掛程式
config.plugin(『html』).tap(args => )
如果是開發階段也新增乙個標識,為false
//使用外掛程式
config.plugin(『html』).tap(args => )
在頁面通過htmlwebpackplugin獲取到標識,判斷該標識為true還是false,如果是true代表發布階段,應該新增cdn資源,如果是false則不需要新增
語法類似art-template原始語法,webpack會自己解析
<%= htmlwebpackplugin.options.isprod?'':'dev-' %>後台管理系統
vue專案優化
專案優化 進度條新增 移除打包之後的console 只在發布階段移除console 利用vue.config.js修改webpack的預設配置 自定義入口檔案 通過cdn載入外部資源 配置element ui的cdn資源 根據不同環境定製不同的首頁內容 我們要在index.html中來判斷當前環境為...
vue專案優化
1 盡可能的減少watcher的數量,當監聽資料是乙個物件的時候,最好具體到監聽物件的屬性 2 內容比較多的時候可以用懶載入 分頁 滾動載入或者tab方式,減少每次渲染的數量 3 結合v if,非同步顯示dom結構,減少不必要元件的載入 4 給列表渲染加上唯一的key值,避免重複建立和大規模的重新渲...
Vue專案打包優化
專案寫完了,專案需要打包才能上線 打包命令 yarn build 打包完目錄檔案的說明 帶 chunk vendors 的都是 第三方的依賴包 打完包的 可以直接於伺服器環境根目錄執行 不需要額外配置 外掛程式 live server 全域性安裝 npm i live server g 啟動 只需要...