使用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 相关文章推荐
模仿jQuery each函数的链式调用
Jul 22 Javascript
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
jQuery .tmpl() 用法示例介绍
Aug 21 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
Mar 04 Javascript
js H5 canvas投篮小游戏
Aug 18 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
Dec 31 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
node.js文件上传重命名以及移动位置的示例代码
Jan 19 Javascript
JavaScript中的各种宽高属性的实现
May 08 Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
php类中private属性继承问题分析
2012/11/01 PHP
php获取excel文件数据
2017/04/21 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python探索之自定义实现线程池
2017/10/27 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
师范毕业生个人求职信
2013/12/09 职场文书
大学生学业生涯规划
2014/01/05 职场文书
初中学校军训方案
2014/05/09 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
学生违反校规检讨书
2014/10/28 职场文书
国王的演讲观后感
2015/06/03 职场文书
长江七号观后感
2015/06/11 职场文书
小学教师见习总结
2015/06/23 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
java中重写父类方法加不加@Override详解
2021/06/21 Java/Android
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js