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. RabbitMQ学习之:(十)AMQP和RabbitMQ介绍 (转贴+我的评论)

      From: http://www.infoq.com/cn/articles/AMQP-RabbitMQ 准备开始 高级消息队列协议(AMQP1)是一个异步消息传递所使用的应用层协议规范.作为线路层协 ...

    2. mariadb数据库(1)

      一.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据库里的数 ...

    3. mysql 批量kill locked 进程

      mysql -s -e "show processlist;" | grep 'Sending data' | awk '{print "kill "$1&qu ...

    4. Hibernate三种状态:瞬时状态、持久化状态、离线状态

      三种状态及相互转化 瞬时状态(transient):刚new出来一个对象,还没有被保存到数据库中 持久化状态(persistent):已经被保存到数据库中或刚从数据库中取得 离线状态(detached ...

    5. Golang gRPC微服务02: helloworld

      安装protobuf 在windows下,直接下载release版本https://github.com/protocolbuffers/protobuf/releases/tag/v3.9.0然后把 ...

    6. 转:获取windows凭证管理器明文密码

      1.运行cmdkey /list查看windows保存凭证 方法1.mimikaz mimikatz vault::cred 2.利用powershell尝试获取 windows 普通凭据类型中的明文 ...

    7. C# WindowService 动态修改服务名

      serviceInstaller1中可以设置服务名,描述等 在实际情况中,我们可能需要将Service多开来达到我们的目的,但是安装两次以上会有错误提示,因为服务名已经重复了,这个时候,我们需要动态改 ...

    8. 抄录的Linux命令

      daemon daemon 有一个很高大上的中文名字,叫 守护进程 . 有句话是这么说的,如果 Unix 中没有了守护进程,那么 Unix 就不会是相同的. 它很有个性,是一个运行在后台且不受终端控制 ...

    9. vue点击编辑按钮,内容变成input可以修改,也可以删除

      一.效果 图1 图2,点击报错之后,又变成图1的效果 二.使用到了element UI中的以下组件: <el-button> <el-input> 三.使用的关键点是vue中的 ...

    10. 函数节流之debounce

      浏览器中某些计算和处理要比其他的昂贵很多.例如, DOM 操作比起非 DOM 交互需要更多的内存和 CPU 时间.连续尝试进行过多的 DOM 相关操作可能会导致浏览器挂起,有时候甚至会崩溃.尤其在 I ...