[英]Worth removing unused imports in big codebase?
运行一个脚本来检查未使用的imports
例如import XYZ from 'dir/XYZ.jsx'
其中从未使用过XYZ
,我遇到了大约300个存在此类问题的文件。 这些文件大多数是缺少类似的事情,如Proptypes
(用于阵营import PropTypes from 'prop-types'
)。
我在导入后听说webpack / babel缓存文件。 如果这是真的,那么删除这些多次出现的未使用的进口是否值得,或者我应该将它们单独留下?
请注意,出于性能原因以及代码清洁度,我正在执行此项目。
您已经回答了自己的问题:
请注意,出于性能原因以及代码清洁度,我正在执行此项目。
但是,让我们通过一个示例场景和一些用例来打破答案。
场景 :
让我们说我们有一个预测应用程序。 当用户转到每日预测路线时,他想要仅获取当天的信息。
使用案例 :
DailyComponent
导入weeklyForecast
实用程序呢? 我的观点是它具有误导性和混乱性,除非您查看整个DailyComponent
。 也许有人会说我们有Linters。 但是,如果你不遵守其规则和惯例,你为什么要使用Linter? 从技术上讲 ,如果您导入的东西是从未使用过的,但却会提供给用户,那么这就是性能损失(用例1)。 我建议你检查webpack优化实践 (最小化,重复数据删除,块)。
你也知道Webpack Code Splitting吗?
代码拆分是webpack最引人注目的功能之一。 此功能允许您将代码拆分为各种捆绑包,然后可以按需或并行加载。 它可用于实现更小的捆绑并控制资源负载优先级,如果使用得当,可能会对加载时间产生重大影响。
现在想象一下,如果您在应用中进行代码拆分,但仍有许多未使用的导入。 这将增加初始应用程序加载时间,并将违反代码拆分的想法。
结论 :
对于新项目,显然包含未使用的进口没有任何好处。
根据您的情况,您可以测量具有和不具有未使用的导入的特定路线的加载时间。 大多数IDE都提供此功能来删除未使用的导入,因此您可以计算影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.