使用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 相关文章推荐
驱动事件的addEvent.js代码
Mar 27 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 Javascript
小巧强大的jquery layer弹窗弹层插件
Dec 06 Javascript
利用CSS3在Angular中实现动画
Jan 15 Javascript
浅谈bootstrap源码分析之tab(选项卡)
Jun 06 Javascript
js select实现省市区联动选择
Apr 17 Javascript
ES6中Generator与异步操作实例分析
Mar 31 Javascript
微信小程序页面缩放式侧滑效果的实现代码
Nov 15 Javascript
vue-router启用history模式下的开发及非根目录部署方法
Dec 23 Javascript
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
React 高阶组件HOC用法归纳
Jun 13 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
微信小程序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快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
JavaScript QueryString解析类代码
2010/01/17 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
初步认识Python中的列表与位运算符
2015/10/12 Python
简析Python的闭包和装饰器
2016/02/26 Python
python+opencv实现动态物体追踪
2018/01/09 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
详解python中@的用法
2019/03/27 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
工作个人的自我评价
2014/01/14 职场文书
德语专业求职信
2014/03/12 职场文书
计算机专业求职信
2014/06/02 职场文书
校园文明标语
2014/06/13 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
五一劳动节活动总结
2015/02/09 职场文书
十月围城观后感
2015/06/08 职场文书
信息技术课教学反思
2016/02/23 职场文书
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
2021/06/11 Python