Vue是个优秀的前端框架,不管是前端还是后端开发人员都能很快使用Vue来开发应用。但是随着项目开发的深入,组件之间的依赖就变得越来越多,耦合越来越严重。这时候我们迫切地需要分析下组件和依赖之间的调用关系了。

一、探索

经过一番寻找,我发现了stats-webpack-plugin这个插件。链接中有这个插件在webpack中的使用方法。我下面的教程基本是参考了官方指引。

二、安装和使用

  1. 首先安装stats-webpack-plugin插件
$ npm install --save-dev stats-webpack-plugin
  1. 然后把下面的配置放到wepback.configplugins
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该如何使用呢?

  1. 第一步肯定是安装$ npm install --save-dev stats-webpack-plugin,或者直接添加到package.json中

  2. 添加配置的时候与webpack不太相同,我们需要在vue.config.js中声明StatsPlugin。const StatsPlugin = require('stats-webpack-plugin')

  3. configureWebpack中的plugin中增加如下配置

 plugins: [new StatsPlugin('stats.json', {
chunkModules: true,
chunks: true,
assets: false,
modules: true,
children: true,
chunksSort: true,
assetsSort: true
})]
  1. 查看依赖关系

    打包完成后,会在你指定的目录生成dist文件,你会发现dist文件夹下面会有一个stats.json文件(warning:纯文本文件大小可能超过10M,直接打开请慎重

    Vue-Cli项目如何查看依赖调用关系?的更多相关文章

    1. 改造@vue/cli项目为服务端渲染-ServerSideRender

      VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...

    2. golang 查看代码调用关系图

      go-callvis 是github上一个开源项目,可以用来查看golang代码调用关系. 安装 安装graphviz $ brew install graphviz 安装go-callvis go ...

    3. vue cli 项目的提交

      前提: 配置git.以及git的ssh key信息 假设已经都安装好了,此处我用vue项目为例,因为vue-cli已经默认为我生成了ignore文件 在项目目录 初始化本地仓库,会创建一个.git目录 ...

    4. Vuex内容解析和vue cli项目中使用状态管理模式Vuex

      中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...

    5. vue/cli项目添加外部js文件的一个方法

      有一个util.js文件,内容如下 function Util () { ... } export default new Util() 可以在main.js里面通过import引入js import ...

    6. vue.cli项目中src目录每个文件夹和文件的用法

      assets文件夹是放静态资源:components是放组件:router是定义路由相关的配置:view视图:app.vue是一个应用主组件:main.js是入口文件:

    7. Vue cli项目开启Gzip

      目录 安装 compression-webpack-plugin 更改配置文件 服务器开启gzip功能 安装 compression-webpack-plugin 建议安装v1.1.11版本,最新版本 ...

    8. vue cli 项目中设置背景图

      https://blog.csdn.net/MoLvSHan/article/details/78204972 不能直接写成相对路径,像下面这这种就会报错 backgroundImage: " ...

    9. 前端——Vue CLI 3.x搭建Vue项目

      一.Node安装 windows 1. Node.js (>=8.9, 推荐8.11.0+) Node官网下载 .msi 文件,按步骤下载安装即可. 安装完之后在cmd中输入 node -v,若 ...

    随机推荐

    1. java错误与异常

      java异常处理机制 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常, 让程序尽最大可能恢复正常并继续执行,且保持代码的清晰.Java中的异常可以是函数中的语句执 ...

    2. CentOS7+rsync+sersync实现数据实时同步

      一.全网数据备份方案 1.需要备份的文件目录有(原则上,只要运维人员写入或更改的数据都需要备份)./data,/etc/rc.local,/var/spool/cron/root等,根据不同都服务器做 ...

    3. IPv4 ping命令

      IPv4 ping命令 一.Linux操作系统 给一台 Linux 主机分配了一个 IPv4 的 IP地址,如何使用 ping命令 确定该 IP地址 能否 ping 通呢? 1.查看主机的 IPv4 ...

    4. GBK格式字符串右补空格

      public class Test2 {   public static void main(String[] s) throws IOException {   List<User> l ...

    5. MongoDB Input

      Configure Connection Tab Host name(s) or IP address(es):网络名称或者地址.可以输入多个主机名或IP地址,用逗号分隔.还可以通过将主机名和端口号与 ...

    6. python报错No module named 'pylab'

      pip instal matplotlib

    7. centos下同步备份工具rsync的安装及配置

      http://www.cnblogs.com/wander1129/archive/2013/03/27/2984922.html

    8. Java集合(0):概述

      下面是一个Java集合的简化图,我们可以看出,集合分Collection和Map两大部分: 接下来分别以下面几个章节介绍Java集合: Java集合(1):Collections工具类中的static ...

    9. 修改主机名(/etc/hostname和/etc/hosts区别)

      ubuntu永久修改主机名 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后:其二,在终端窗口 ...

    10. web系统认证与鉴权中的一些问题

      认证鉴权系统的初心: 空间管理: 1.他是谁? 他登陆了没有? 2.他要做什么? 2.1 他要使用什么功能? 他是否有这个功能的权限. 2.2 他要使用这个功能做什么操作? 他是否有这个功能的这个操作 ...