副作用导入
ID: side_effect_import | 严重程度: 低 (默认)
识别仅为了其副作用而执行的导入(例如 import './globals';),这些导入通常会修改全局状态 or 原型。
为什么这是一种坏味道
副作用导入会使依赖图变得不那么明确,并可能根据导入顺序导致非确定性行为。它们通常是难以追踪的“隐藏”依赖。
排除模式
archlint 会自动忽略以下副作用导入:
- CSS/资源:
import './styles.css',import './image.png'等。 - 动态导入: 函数内部的
import('./module')或require('./module')(通常用于懒加载或条件导入)。
如何修复
尽量使初始化过程显式化。不要依赖副作用导入,而是导出一个 init() 函数并显式调用它。