使用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中的var_dump函数实现代码
Sep 07 Javascript
javascript中的float运算精度实例分析
Aug 21 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 Javascript
基于canvas实现的钟摆效果完整实例
Jan 26 Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 Javascript
jquery利用json实现页面之间传值的实例解析
Dec 12 Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 Javascript
基于bootstrap写的一点localStorage本地储存
Nov 21 Javascript
Flutter实现仿微信底部菜单栏功能
Sep 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
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
浅谈js的异步执行
2016/10/18 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
简单理解Python中的装饰器
2015/07/31 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
大学生军训自我鉴定
2014/02/12 职场文书
医德医风演讲稿
2014/05/20 职场文书
初一新生军训方案
2014/05/22 职场文书
复兴之路观后感
2015/06/02 职场文书
网吧温馨提示
2015/07/17 职场文书
中秋晚会致辞
2015/07/31 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle