使用 ESLint 禁止项目导入特定模块
使用 ESLint 禁止项目导入特定模块
项目团队成员希望能够禁用某些 JS 依赖。比如有团队成员希望使用 lodash 而将这个巨大的依赖引入项目,导致项目整体过分臃肿。团队成员应当使用 lodash-es 来避免这种情况。那么 ESLint 就提供了一个名为 no-restricted-imports 规则,这个规则就是统一规范在项目中禁止使用的依赖。

使用方法
完整配置规则
假设我们不希望在项目中引入 lodash,那么配置规则:
rules: {
    'no-restricted-imports': [
        'error',
        {
            paths: [{
                name: 'lodash',
                message: '不要使用 lodash,请使用 lodash-es 作为替代'
            }]
        }
    ]
}如果有团队成员试图引入 lodash 这个依赖
import _ from 'lodash'
那么就会报错,并提示 message 信息

不需要显示提示信息
如果不需要显示任何提示信息,那么 message 可以被省略,写法如下:
'no-restricted-imports': ['error', 'lodash', 'underscore']
使用 gitignore-style 写法
'no-restricted-imports': ['error', {
    patterns: ['lodash-es/*']
}]如果违反规则会出现以下报错信息:

参考
https://eslint.org/docs/rules/no-restricted-imports

相关推荐
  jiedinghui    2020-06-04  
   hjucook    2020-04-20  
   ThinkingLink    2020-01-09  
   SelinaChan    2019-12-15  
   ddwddw    2019-11-19  
   SYYling    2019-11-19  
   fengminw    2019-05-27  
   thisisid    2019-07-01  
   gloria0    2019-07-01  
   Macuroon    2019-06-30  
   xingye    2019-06-30  
   inyiyi    2019-06-28  
   一航jason    2019-06-28  
   xxuncle    2019-06-28  
   QiaoranC    2019-06-28  
   kaikai    2017-03-22  
   mbcsdn    2019-06-28  
   QiaoranC    2019-06-28  
 