Skip to content

import/no-relative-packages

禁止通过相对路径导入同级包

为什么?

在工作区(monorepo/packages)中,通过../package相对路径导入同级包,发布到到npm仓库后可能会失效,因为不同的子包是作为不同的npm包发布。

建议

请使用npm包名而非相对路径进行导入。

错误示例

my-project/packages/foo.js

js
import bar from '../bar'; // 使用相对路径导入同级包
import bar from '../bar'; // 使用相对路径导入同级包

my-project/entry.js

js
import bar from './packages/bar'; // 使用相对路径导入子包
import bar from './packages/bar'; // 使用相对路径导入子包

正确示例

my-project/packages/foo.js

js
import bar from 'bar'; // 使用包名导入同级包
import bar from 'bar'; // 使用包名导入同级包

my-project/entry.js

js
import bar from 'bar'; // 使用包名导入同级包
import bar from 'bar'; // 使用包名导入同级包

参考