跳至主要内容

禁止使用受限导入

禁止通过import加载指定的模块。

此规则扩展了基本规则eslint/no-restricted-imports。它添加了对类型导入(import type X from "..."import { type X } from "...")和import x = require("...")语法的支持。

如何使用

.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"no-restricted-imports": "off",
"@typescript-eslint/no-restricted-imports": "error"
}
};

在游乐场中尝试此规则 ↗

选项

参见eslint/no-restricted-imports 选项

此规则添加了以下选项

allowTypeImports

(默认:false)

您可以为特定路径或模式指定此选项,如下所示

{
"rules": {
"@typescript-eslint/no-restricted-imports": [
"error",
{
"paths": [
{
"name": "import-foo",
"message": "Please use import-bar instead.",
"allowTypeImports": true,
},
{
"name": "import-baz",
"message": "Please use import-quux instead.",
"allowTypeImports": true,
},
],
},
],
},
}

当设置为true时,该规则将允许仅类型导入

具有上述配置的代码示例

import foo from 'import-foo';
export { Foo } from 'import-foo';

import baz from 'import-baz';
export { Baz } from 'import-baz';
在游乐场中打开

资源

ESLint 核心中❤️获取。