之前提过一次类似的问题,但因为自己的表述太烂了,使回答的朋友们没有理解我的意思。
比如说:我在vue项目中定义了一个<new-button>组件,在项目中不少的页面都使用到了,现在需要提供一个功能,可以知道是哪些页面使用了<new-button>组件。
当然,不能是编辑器(如vscode)全局搜索或者是别的文件搜索软件之类的,如果可以的话我也不用这么纠结了。
webstorm:打开你的组件,在export default上按住ctrl+鼠标左键就会弹出有哪些文件引用了该组件。
你在<new-button>组件的定义中 定义一个data num:0 ,在created函数中 num = 1; 然后编写一个函数 add(){ num++} ;
以后每次使用该组件时,手动触发组件内的add()函数,最后项目编写完后,你在任意位置都可以查看new-button组件内 num的值了;这个思路是否可行?
这个没法实现,因为不可能同时打开多个页面,没打开的页面就无法知道里面是否引用了这个组件,除非遍历整个项目找到引用他的地方,记录下文件目录地址,比如chokidar,fs都需要node才可以实现,前端没法遍历读取文件内容。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
1.在入口文件 获取到所有的路由,然后遍历路由 window.open()去实现打开所有页面
2.在组件内 添加路由守卫,判断from.path 和计数 作为键 存入一个数组中,在存入之前坐下去重
3.当所有页面 都打开后 ,输出组件内 用于统计的数组,里面有from.path 就是该组件被调用的页面了
试着在组件创建完成之后获取当前的url,添加到一个全局的集合里面,需要用到的适合就遍历这个集合可以?
自定义组件的我没试过,不知道是不是也有对应的生命周期。如果有生命周期的话就方便点,没有的话那就得考虑在当前页面中获取跟节点,扫描看有没有包含该组件了。再添加到集合中
在webstorm中删除文件时会显示出引用该文件的地方(如果这个文件没被引用会被直接删除):