前端项目里没用到的文件/资源 有什么工具能检测出来吗?

2019-07-17 16:34:22 +08:00
 firhome
比如 vue 项目里,有很多单页是项目遗留 已经没用了。一些资源图片改版也没用了。

有没有什么工具 可以 找到这些没用到的文件 /组件 /资源呢?
1397 次点击
所在节点    程序员
3 条回复
15651980765
2019-07-17 16:38:56 +08:00
我只知道 webstorm 删除项目文件的时候,如果该文件在项目中使用到了,会提示你。
马一下,看有没有大佬解答。
arrow8899
2019-07-17 17:13:36 +08:00
拿到文件名,直接暴力遍历,检查是否包含文件名即可。。。
duan602728596
2019-07-17 17:34:51 +08:00
代码解决思路:

1. 使用 glob 拿到项目中所有的文件
2. 将所有的文件解析成绝对路径
3. 使用 @babel/parser 将 js 文件解析成 ast 树
4. 使用 @babel/traverse 提取 ast 树中 import 的相对路径并转换成绝对路径
5. 对比被使用了的文件后,剩下的文件就是没有用到的,或者是入口文件,排除入口
6. 同理,解析 css 文件可以使用 postcss
7. 解析 vue 文件需要使用 vue-template-compiler 和 @vue/component-compiler-utils 提取出 vue 文件中的 css 和 js 代码,然后重复上面的操作

总之,就是利用解析器将代码解析成 ast 树,提取出其中的路径,然后和所有文件进行比对

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/583831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX