使用ESLint禁止项目导入特定模块的方法步骤


Posted in Javascript onMarch 04, 2019

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

使用ESLint禁止项目导入特定模块的方法步骤

使用方法

完整配置规则

假设我们不希望在项目中引入 lodash,那么配置规则:

rules: {
  'no-restricted-imports': [
    'error',
    {
      paths: [{
        name: 'lodash',
        message: '不要使用 lodash,请使用 lodash-es 作为替代'
      }]
    }
  ]
}

如果有团队成员试图引入 lodash 这个依赖

import _ from 'lodash'

那么就会报错,并提示 message 信息

使用ESLint禁止项目导入特定模块的方法步骤

不需要显示提示信息

如果不需要显示任何提示信息,那么 message 可以被省略,写法如下:

'no-restricted-imports': ['error', 'lodash', 'underscore']

使用 gitignore-style 写法

'no-restricted-imports': ['error', {
  patterns: ['lodash-es/*']
}]

如果违反规则会出现以下报错信息:

使用ESLint禁止项目导入特定模块的方法步骤

参考

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解JavaScript的prototype属性
Feb 11 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 Javascript
jQuery寻找n以内完全数的方法
Jun 24 Javascript
如何检测JavaScript的各种类型
Jul 30 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
p5.js入门教程之键盘交互
Mar 19 Javascript
vue.js做一个简单的编辑菜谱功能
May 08 Javascript
浅析java线程中断的办法
Jul 29 Javascript
vuex实现及简略解析(小结)
Mar 01 Javascript
js脚本中执行java后台代码方法解析
Oct 11 Javascript
js实现模拟购物商城案例
May 18 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 #Javascript
浅析vue中的MVVM实现原理
Mar 04 #Javascript
JavaScript实现的九种排序算法
Mar 04 #Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 #Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 #Javascript
Vuex mutitons和actions初使用详解
Mar 04 #Javascript
JS重学系列之聊聊new操作符
Mar 04 #Javascript
You might like
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
提高PHP编程效率的方法
2013/11/07 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
easyUI combobox实现联动效果
2017/01/17 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python之父谈Python的未来形式
2016/07/01 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
英文留学推荐信范文
2014/01/25 职场文书
房屋租赁协议书
2014/04/10 职场文书
大学三年计划书范文
2014/04/30 职场文书
公司酒会主持词
2015/07/02 职场文书
八年级语文教学反思
2016/03/03 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang