运行检查未使用imports
的{{1}}未使用的import XYZ from 'dir/XYZ.jsx'
的脚本后,我遇到了大约300个存在此类问题的文件。大多数这些文件都缺少类似的内容,例如React(XYZ
)的Proptypes
。
我在导入后听说webpack / babel缓存文件。如果这是真的,那么删除多次出现的未使用的导入是否值得,或者我应该将它们单独留下?
请注意,我正在为performance reasons执行此项目以及代码清洁。
答案 0 :(得分:1)
您已经回答了自己的问题:
请注意,出于性能原因,我正在执行此项目 代码清洁度。
但是,让我们用一个示例场景和一些用例来打破答案。
<强>方案强>:
假设我们有一个预测应用。当用户转到每日预测路线时,他只想获取当天的信息。
用例:
weeklyForecast
中导入DailyComponent
实用程序怎么办?我的观点是,这是误导和混淆,除非你审查整个DailyComponent
。也许有人会说我们有Linters。但是,如果你不遵守其规则和惯例,为什么要使用Linter?从技术上讲,如果您导入的内容从未使用过,但会向用户提供,则会导致性能下降(用例1)。我建议你检查webpack optimization practices(最小化,重复数据删除,块)。
您也知道Webpack Code Splitting吗?
代码拆分是webpack最引人注目的功能之一。这个 功能允许您将代码拆分为各种捆绑包 然后按需加载或并行加载。它可以用来实现 较小的捆绑包和控制资源负载优先级,如果 正确使用,会对加载时间产生重大影响。
现在想象一下,如果您在应用中进行代码拆分,但仍有许多未使用的导入。它将增加初始应用程序加载时间并违反代码拆分的想法。
<强>结论强>:
对于新项目,显然包含未使用的进口没有任何好处。
根据您的情况,您可以衡量特定路线的加载时间是否包含未使用的导入。大多数IDE都提供此功能来删除未使用的导入,因此您可以计算影响。