1. 程式人生 > >vue之打包優化

vue之打包優化

最近寫專案,4個平臺的專案由一個程式碼庫管理,超過50個.vue檔案,導致程式碼量過大,每次構建打包速度都很慢,

下面是針對vue打包構建優化的一些測試結果:

第一次npm run dev :

圖片缺失
第一次npm run dev

 

第一次npm run build構建:

圖片缺失
第一次npm run build構建

 優化修改如下:

1,採用cdn載入UI庫,把不常改變的庫放到index.html中,通過cdn引入

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>vue-iview-axios-router-laydate</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/
[email protected]
/dist/styles/iview.css"> </head> <body> <div id="app"></div> <!-- built files will be auto injected --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/
[email protected]
/dist/vue-router.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/iview.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js"></script> </body> </html>

2,修改build/webpack.base.conf.js檔案,在 module.exports = { } 中新增程式碼,其目的是:這樣webpack就不會把vue.js, vue-router, iview庫打包了

externals: {
    'vue': 'Vue',
    'vue-router': 'VueRouter',
    'iview': 'Iview',
    'axios': 'Axios',
},

3,取消生成map檔案,找到config/index.js中的productionSourceMap: true,把true改為false;

/**
 * Source Maps
 */

productionSourceMap: false,

優化後npm run dev:

圖片缺失
優化後npm run dev

優化後npm run build構建:

圖片缺失
優化後npm run build構建