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. C# 后台服务 web.config 中 项“ConnectionString”已添加。问题

      是自己在一网站下建了虚拟目录.原本网站为空,后来自己改了路径,有了默认配置很久后打开原本ok的虚拟目录,坑爹了.杯具了.代码:ConfigurationManager.ConnectionString ...

    2. js 中 new call apply bind JSON.stringify 的原理以及模拟实现

      1.new的原理和实现 它创建了一个全新的对象. 它会被执行 [[Prototype]](也就是 __proto__)链接. 它使 this指向新创建的对象. 通过 new创建的每个对象将最终被 [[ ...

    3. k8s-高可用多主master配置

      准备主机 centos7镜像 node1: 192.168.0.101 node2: 192.168.0.102 node3: 192.168.0.103 vip: 192.168.0.104 配置s ...

    4. JAVA 基础编程练习题3 【程序 3 水仙花数】

      3 [程序 3 水仙花数] 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例 如:153 是一个"水仙 ...

    5. HTML之表单类控件、图像类元素的CSS特别样式汇总

      前言 记录下开发过程中一些特殊表单控件(input.textarea.select等)的样式控制 input 取消光标聚焦时,输入框的外延边框 input:focus{ outline:none } ...

    6. 2. bash基础

      通配符 通配符 功能说明 实例 * 匹配所有字符 ls *.o ? 匹配所有的当个字符 ls net??? [a-z] 匹配属于a到z范围集合内的一个字符 ls [a-i]* [...] 与方括号内的 ...

    7. RocketMQ之四:RocketMq事务消息

      事务消息 通过消息的异步事务,可以保证本地事务和消息发送同时执行成功或失败,从而保证了数据的最终一致性. 发送端执行如下几步: 发送prepare消息,该消息对Consumer不可见 执行本地事务(如 ...

    8. MySQL常用维护命令和操作

      MySQL数据库安装后,除了包括MySQL服务器进程管理外,还提供了大量工具用于管理和维护MySQL服务器的其它工作.下面PHP程序员雷雪松介绍的这些命令都是在MySQL交互界面以外的命令行中执行的. ...

    9. 【VS开发】CreateThread给线程函数传递的参数

      CreateThread给线程函数传递的参数   HANDLE WINAPI CreateThread ( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttribu ...

    10. 【VS开发】【计算机视觉】OpenCV读写xml文件《C++版本》

      OpenCV FileStorage类读写XML/YML文件 在OpenCV程序中,需要保存中间结果的时候常常会使用.xml / .yml文件,opencv2.0之前都是使用C风格的代码,当时读写XM ...