首页 > 编程 > JavaScript > 正文

webpack项目使用eslint建立代码规范实现

2019-11-19 11:33:20
字体:
来源:转载
供稿:网友

首先当然是新建一个项目了。假设项目已经建好了,下面开始配置

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"  ],}

参考文章:

怎样在vue项目下添加ESLint
eslint中文网
eslint 的三大通用规则

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表