如何识别SFCC项目中未使用的脚本文件?求工具与方法
识别未使用脚本文件的工具与方法
- 静态代码分析工具
- Node.js项目用
depcheck:直接扫描项目,能识别未被引用的依赖和脚本文件,支持CommonJS和ES模块,执行npx depcheck就能生成结果报告 - TypeScript项目用
ts-prune:专门针对TS代码,找出未被导入的导出项,运行npx ts-prune即可输出相关文件列表
- Node.js项目用
- 构建工具联动检查
- 用Webpack的话,开启
stats分析功能,生成构建报告后,查看未被打包进最终产物的文件,这类文件基本属于未被使用的死代码 - Rollup默认自带
treeshake剔除未用代码的特性,搭配rollup-plugin-analyzer插件,能直观看到哪些文件没被纳入构建流程
- 用Webpack的话,开启
- 自定义脚本扫描
- 遍历项目所有脚本文件,用
acorn这类JS解析库解析文件的AST语法树,提取所有导入/引用关系,构建依赖图谱后,反向找出没有被任何文件引用的文件
- 遍历项目所有脚本文件,用
- 版本控制系统辅助排查
- 查看Git日志,筛选出长期(比如半年以上)没有被修改,且没有和其他文件关联修改的文件,这类文件大概率是死代码,但需要人工二次确认
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

