Skip to content

副作用导入

ID: side_effect_import | 严重程度: 低 (默认)

识别仅为了其副作用而执行的导入(例如 import './globals';),这些导入通常会修改全局状态 or 原型。

为什么这是一种坏味道

副作用导入会使依赖图变得不那么明确,并可能根据导入顺序导致非确定性行为。它们通常是难以追踪的“隐藏”依赖。

排除模式

archlint 会自动忽略以下副作用导入:

  • CSS/资源: import './styles.css', import './image.png' 等。
  • 动态导入: 函数内部的 import('./module')require('./module')(通常用于懒加载或条件导入)。

如何修复

尽量使初始化过程显式化。不要依赖副作用导入,而是导出一个 init() 函数并显式调用它。

Released under the MIT License.