webpack项目使用eslint建立代码规范
参考文章:
怎样在vue项目下添加ESLint
eslint中文网
eslint 的三大通用规则
首先当然是新建一个项目了。假设项目已经建好了,下面开始配置
1. 安装eslint
如果你还没有全局安装eslint
,第一件事当然是安装eslint
npm i -g eslint
复制代码
2. 初始化eslint
eslint --init
复制代码
这个命令会生成一个.eslintrc
的文件,有几种形式。选自己习惯的形式就行,我的生成的是一个.eslintrc.js
文件,如下:
module.exports = {"extends": "standard"
};
复制代码
然后就可以简单的lint某个文件了:
eslint yourfile.js
复制代码
在项目里新添加eSLint
然后找到package.json
,把ESLint相关的依赖加进去,当然一个个安装也是可以的,只要你不嫌麻烦
"babel-eslint": "^7.1.1",
"eslint": "^3.19.0",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^1.7.1",
"eslint-plugin-html": "^3.0.0",
"eslint-config-standard": "^10.2.1",
"eslint-plugin-promise": "^3.4.0",
"eslint-plugin-standard": "^3.0.1",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^5.2.0",
复制代码
执行npm install
就好了
修改默认规则
关于eslint
配置文件的详解,可以点击这里查看,这里只简单说下 eslint规则详情
extends
继承某个已配置好的规则,从某个现有的规则上进行扩展。一般比较流行的eslint规则有三种:Google 标准、airbnb标准、standard标准。
Google 标准安装
npm install eslint eslint-config-google -g
复制代码
airbnb标准安装
airbnb
标准,它依赖eslint
, eslint-plugin-import
, eslint-plugin-react
, and eslint-plugin-jsx-a11y
等插件,并且对各个插件的版本有所要求。
你可以执行以下命令查看所依赖的各个版本:
npm info "eslint-config-airbnb@latest" peerDependencies
复制代码
你会看到以下输出信息,包含每个了每个plugins的版本要求
{ eslint: '^3.15.0','eslint-plugin-jsx-a11y': '^3.0.2 || ^4.0.0','eslint-plugin-import': '^2.2.0','eslint-plugin-react': '^6.9.0'
}
复制代码
知道了每个plugins的版本要求后,代入以下命令执行安装即可使用:
npm install eslint-config-airbnb eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# -g
复制代码
standard标准安装
Standard标准,它是一些前端工程师自定的标准。
npm install eslint-config-standard eslint-plugin-standard eslint-plugin-promise -g
复制代码
rules
eslint
启用的规则列表。你可以重写eslint
的规则,定义级别:
module.exports = {rules: {'no-console': 1}
};
复制代码
左边是规则,右边是级别。1为警告,2为报错,0为关闭。 规则详情请参考这里
React使用eslint
1. 安装 eslint-plugin-react
npm i eslint-plugin-react
复制代码
2. 修改 .eslintrc.js
修改.eslintrc
的代码:
module.exports = {"extends": "standard","env": {"browser": true,"es6": true,},"parser": "babel-eslint","parserOptions": {"ecmaFeatures": {"experimentalObjectRestSpread": true,"jsx": true},"sourceType": "module","ecmaVersion": 2018},"plugins": ["react"],
}
复制代码
关注前端撸客公众号
转载于:https://juejin.im/post/5cdc3ae75188253cd55344c5
webpack项目使用eslint建立代码规范相关推荐
- Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- 基于 React 项目前端团队推行代码规范及代码质量,真香(姐妹篇)
前言 大家好,我是虚竹. 2022年是我们的一次重大技术栈转型(尝试.试错.挑战.精进),发动组员学习React新技术,前端小组采用主流的前端框架基于React.React Native系列生态支撑公 ...
- 【项目篇】Android团队项目开发之统一代码规范
前言 团队项目开发前的统一三要素:统一需求/开发文档,统一代码规范,统一环境(编译/测试/发布). 一个项目团队,要想有高效的产出,必须在团队协作上下好功夫,必须在项目开发统一进度上做好协调.只有在高 ...
- 如何在webstorm使用eslint检查代码规范
一.安装esLint (一)打开项目代码,进入terminal (二)安装esLint 1.安装esLint npm install eslint --save-dev 2.设置一个esLint的配置 ...
- Vue eslint 团队代码规范
原文:nice.lovejade.cn/zh/article/- Prettier 是一个有见识的代码格式化工具.它通过解析代码并使用自己的规则重新打印它,并考虑最大行长来强制执行一致的样式,并在必要 ...
- 【Vue3+Vite+TS项目集成ESlint +Prettier实现代码规范检查和代码格式化】
目录 前言 创建项目 安装初始化ESlint 安装ESlint: 初始化ESlint: 安装配置Prettier 安装prettier: 配置prettier: 配置VScode保存时自动格式化代码 ...
- 代码规范 详细解释 husky、prettier、eslint、lint-staged 的作用和使用
准备工作 使用 vscode 新建一个项目(比如叫 my-project) 初始化 git 仓库(git init) 初始化 package.json ( npm init -y) 新建 src/ma ...
- React Native三端同构(二: webpack@4脚手架构建和项目代码规范)
(一)前言 一个完整的web开发手脚架,应该包含以下 babel-loader 图片 音视频 字体 样式处理等loader 开发环境配置 生产环境配置,流程化前端多生产构建 生产环境打包优化, 如构建 ...
- 项目质量监测(一)——代码质量检查-书写风格、代码规范、高度耦合 代码质量监测之Js检验工具-JSLint、JSHint、ESLint
项目质量监测(一)--代码质量检查-书写风格.代码规范.高度耦合 & 代码质量监测之Js检验工具-JSLint.JSHint.ESLint 5-2 项目质量监测 课程介绍 没有规矩不成方圆,所 ...
- eslint 保存自动格式化_代码规范之理解ESLint、Prettier、EditorConfig
授权转载自:nowThen https://juejin.cn/post/6895889063111294990 前言 团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个开发者编 ...
最新文章
- 介绍一个好用的抓取dump的工具-ProcDump
- php ajax邮箱,PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
- python技巧:拆分多层嵌套列表
- 绝不翻车珍珠奶茶做法
- 4邻接、8邻接、m邻接
- 《图解HTTP》核心知识总结
- html怎么无损插入背景音乐,HTML插入背景音乐方法【全】
- linux自动化作业安排工具cron anacron at batch (2)
- 远程调试运行在Resin上面的Web应用程序
- Invisible Perturbations: Physical Adversarial Examples Exploiting the Rolling Shutter Effect 论文解读
- 十七款PDF在线处理转换器,目前最全合集
- html 发送ping帧,HTML5:ping属性之死亡ping与隐私追踪
- 支付宝周期扣款Java逻辑代码
- 前端js、功能性工具插件网站(持续更新,欢迎分享)
- 动态创建表,并批量入库表数据(字段在程序运行之前未知)
- OpenLayers基础
- 360加固签名验证_360加固助手加固应用并自动签名的方法
- 模糊综合评判之物流中心选址问题
- python主成分分析(PCA)
- 基因差异表达分析——基于RSEM对比,DESeq2操作实例
热门文章
- 【股价预测】基于matlab BP神经网络股票价格预测【含Matlab源码 345期】
- 捡到iphone6怎么解锁_赛博朋克2077前期手枪用哪个好?2077节制结局及银杯节制解锁条件...
- webpack 处理字体_不可错过的Webpack核心知识点
- 杨辉三角c语言if 编程,杨辉三角_用c语言怎么编程
- 华为设备如何将接口配置为中继模式_(完整版)华为设备基本配置命令
- 16/32/64位平台下char、short、int、long、指针等类型分别占多少字节,操作系统可以使用的最大内存空间为多大?
- Centos7安装Fail2Ban并利用163邮箱发送邮件提醒功能
- vue-cli 最强指南
- 策略模式与简单工厂模式
- 众人拾柴火焰高,5G承载将逐步进入成熟期