Vue是個優秀的前端框架,不管是前端還是后端開發人員都能很快使用Vue來開發應用。但是隨着項目開發的深入,組件之間的依賴就變得越來越多,耦合越來越嚴重。這時候我們迫切地需要分析下組件和依賴之間的調用關系了。
一、探索
經過一番尋找,我發現了stats-webpack-plugin這個插件。鏈接中有這個插件在webpack
中的使用方法。我下面的教程基本是參考了官方指引。
二、安裝和使用
- 首先安裝
stats-webpack-plugin
插件
$ npm install --save-dev stats-webpack-plugin
- 然后把下面的配置放到
wepback.config
的plugins
中
var StatsPlugin = require('stats-webpack-plugin');
module.exports = {
plugins: [
new StatsPlugin('stats.json', {
chunkModules: true,
exclude: [/node_modules[\\\/]react/]
})
]
};
stats.json
里面具體的配置可以參考官網stats.json詳細配置,里面有很詳細的說明。
但是我們使用的是vue-cli,里面並沒有webpack.config.js
或者webpack.prod.js,我們根本不能添加配置到項目中,那么vue-cli該如何使用呢?
第一步肯定是安裝
$ npm install --save-dev stats-webpack-plugin
,或者直接添加到package.json中添加配置的時候與
webpack
不太相同,我們需要在vue.config.js
中聲明StatsPlugin。const StatsPlugin = require('stats-webpack-plugin')
在
configureWebpack
中的plugin
中增加如下配置
plugins: [new StatsPlugin('stats.json', {
chunkModules: true,
chunks: true,
assets: false,
modules: true,
children: true,
chunksSort: true,
assetsSort: true
})]
-
查看依賴關系
打包完成后,會在你指定的目錄生成
dist
文件,你會發現dist
文件夾下面會有一個stats.json文件(warning:純文本文件大小可能超過10M,直接打開請慎重 😛)。現在我們需要一個可視化的依賴關系查看工具,我使用的是webpack-analyse。打開鏈接,會讓你選擇你的stats.json文件。如圖
上傳stats.json之后點擊modules,就出現關系圖了。
還有一個可視化工具是webpack-chart,使用方法跟webpack-analyse一樣,但是可以展示更炫酷的關系餅圖。
三、總結
總結一下如何查看組件依賴關系,第一步我們需要一個stats-webpack-plugin
插件。第二步我們需要在webpack或者vue.config.js中配置上述插件。兩種方式配置方法有些許不同。第三步是打包后生成stats.json文件,然后我們選擇合適的可視化查看工具來查看關系。然后你就可以根據依賴關系圖來優化你的項目了。
參考文章:
使用vue-cli構建項目怎么查看組件依賴樹
Expose webpack build stats (like hash) for plugins
性能優化篇之Webpack構建速度優化的建議