使用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 相关文章推荐
在IE上直接编辑网页内容的js代码(IE地址栏js)
Apr 27 Javascript
ajax更新数据后,jquery、jq失效问题
Mar 16 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
Apr 29 Javascript
jQuery层叠选择器用法实例分析
Jun 28 jQuery
微信小程序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 var_export与var_dump 输出的不同
2013/08/09 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
理解javascript异步编程
2016/01/27 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
Python中动态创建类实例的方法
2017/03/24 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
幼儿教师思想汇报
2014/01/10 职场文书
七年级政治教学反思
2014/02/03 职场文书
课外科技活动总结
2014/08/27 职场文书
采购内勤岗位职责
2015/04/13 职场文书
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS