vue之打包優化
阿新 • • 發佈:2018-11-15
最近寫專案,4個平臺的專案由一個程式碼庫管理,超過50個.vue檔案,導致程式碼量過大,每次構建打包速度都很慢,
下面是針對vue打包構建優化的一些測試結果:
第一次npm run dev :
第一次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 build構建: