javascript - 如何在大型React项目中找到死代码?

标签 javascript reactjs refactoring dead-code

为了重构客户端项目,我正在寻找一种安全的方法来查找(和删除)未使用的代码。

您使用什么工具来查找大型 React 项目中未使用/无效的代码?我们的产品已经开发了几年,手动检测不再使用的代码变得非常困难。不过,我们确实尝试删除尽可能多的未使用的代码。

也欢迎对一般策略/技术(特定工具除外)的建议。

谢谢

最佳答案

解决方案:

对于节点项目,请在项目根目录中运行以下命令:

npx unimported

如果您使用流类型注释,则需要添加 --flow 标志:

npx unimported --flow

来源和文档:https://github.com/smeijer/unimported

结果: enter image description here

背景

就像其他答案一样,我尝试了很多不同的库,但从未取得真正的成功。

我需要找到未使用的整个文件。不仅仅是函数或变量。为此,我已经有了我的 linter。

我尝试过deadfileunrequiredtrucker,但都没有成功。

经过一年多的寻找,还有一件事要做。自己写点东西。

unimported 从您的入口点开始,并遵循所有 import/require 语句。正在报告源文件夹中存在的所有未导入的代码文件。

请注意,此时它仅扫描源文件。不适用于图像或其他 Assets 。因为这些通常以其他方式“导入”(通过标签或通过 CSS)。

此外,它还会出现误报。例如;有时我们编写脚本是为了简化我们的开发过程,例如构建步骤。这些不是直接导入的。

此外,有时我们会安装对等依赖项,但我们的代码不会直接导入这些依赖项。这些将被报告。

但对我来说,unimported 已经非常有用了。我已经从我的项目中删除了十几个文件。所以绝对值得一试。

如果您有任何问题,请告诉我。通过 github 问题,或在 twitter 上联系我:https://twitter.com/meijer_s

关于javascript - 如何在大型React项目中找到死代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54148788/

相关文章:

javascript - IE9 中的 D3 : "Invalid argument" error using d3. js

javascript - ReactJS CSS 类不工作

javascript - 使用虚拟键盘时 useState 的初始值未更新

c++ - 我如何验证重构保留了代码流,而不仅仅是行为?

scripting - 为跨程序的例程使用流程图或图表

c - DRY 如何与 "Separation of concern"和 "One function, one task"组合?

javascript - Javascript 是否使用动态名称解析?

javascript - 影响屏幕计算的正文 'width' 属性

javascript - 使用方法获取数组以使用 V-for 循环进行迭代,但没有显示任何内容

javascript - 无法读取未定义的 Webpack Bootstrap React 的属性 'call'