博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eslint-代码规范请了解一下
阅读量:6691 次
发布时间:2019-06-25

本文共 2348 字,大约阅读时间需要 7 分钟。

简介

最近换工作,到了新公司接手了一个写的非常感人的项目,代码简直一锅粥,含泪填坑数十日,让我了解了代码规范的重要性,下定决心好好学习编码规范,就从Eslint开始。

ESLint

ESLint是可组装的JavaScript和JSX检查工具。能保证写出语法正确、风格统一的代码。

安装及使用

npm install -D eslint 安装 eslint

npx eslint --init 设置一个配置文件
会让你选择怎么配置

? How would you like to configure ESLint? (Use arrow keys)  Use a popular style guide> Answer questions about your style  Inspect your JavaScript file(s)复制代码

我们选择 Use a popular style guide 用一个流行的规则 Airbnb !

? How would you like to configure ESLint? Use a popular style guide? Which style guide do you want to follow? Airbnb (https://github.com/airbnb/javascript)? Do you use React? Yes? What format do you want your config file to be in? JavaScriptChecking peerDependencies of eslint-config-airbnb@latest? The style guide "airbnb" requires eslint@^4.19.1. You are currently using eslint@5.0.0.  Do you want to downgrade? YesThe config that you've' selected requires the following dependencies:eslint-config-airbnb@latest eslint@^4.19.1 eslint-plugin-import@^2.12.0 eslint-plugin-jsx-a11y@^6.0.3 eslint-plugin-react@^7.9.1? Would you like to install them now with npm? Yes复制代码

等待下载完成,我们的项目下应该生成了一个 .eslintrc.js 的文件

我们的 eslint 将根据这个文件来查验我们的代码 我们的文件现在是

module.exports = {    "extends": "airbnb"};复制代码

我们也可以给它添加自己的规则如:

// 定义自己的规则"rules": {    "linebreak-style": ["off", "windows"],  //换行符设置    "comma-dangle": ["error", "never"], // 要求或禁止末尾逗号:不允许逗号    "indent": ["error", 4], // JavaScript代码强制使用一致的缩进:4格缩进    "react/jsx-indent": ["error", 4],  //react jsx-indent 4缩进    "react/jsx-indent-props": ["error", 4],  //react jsx-indent-props 4缩进}  复制代码

也可以根据 eslint 和 自己修改配置及规则

如何使用

我们直接在命令行工具中写 npx eslint xx.js 就可以对单个文件进行校验

如果我们想校验所有文件 直接在 package.json -> scripts 里配置
npx eslint src/**/*.js src/**/*.jsx 就可以让 eslint 校验 src 文件夹下的所有文件
注意 其实可以在后面加上 --fix 来自动修复一些问题 但是很多规则应该自己掌握吧...
尽量写好

在webpack中配合babel使用

如果我们要配置 webpack 和 babel 中使用,需要下载 eslint-loader

npm install -D eslint-loader
并在 webpack.config.jsmodule -> rules中修改对 js 文件的处理添加 eslint-loader

{    test: /\.js|jsx$/,    use: ['babel-loader', 'eslint-loader'],    exclude: /node_modules/}复制代码

这样我们在使用 webpack 打包时就会对js语法进行检测,如果有问题会报错

在使用babel的过程中 我们可能会用到一些还没有完美制定的规范如 babel-preset-stage-0
在我们的js语法中有这些东西时 eslint 会报错,解决问题的办法时:
下载 babel-eslint 并在 .eslintrc.js 加上这一项:

"parser": "babel-eslint",复制代码

最后

我把我遇到过的部分问题记录了一下放在 其中有几个搜索了很长时间,给大家参考一下

转载于:https://juejin.im/post/5b310272518825748954cae2

你可能感兴趣的文章
0059-乘积问题
查看>>
2019年的第一篇随笔
查看>>
关于公网ip的一些信息(摘抄)
查看>>
5分钟弄懂Docker!
查看>>
BZOJ1076:[SCOI2008]奖励关(状压DP,期望)
查看>>
BZOJ2223/3524:[POI2014] Couriers(主席树)
查看>>
MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-5]
查看>>
Nodejs 连接各种数据库集合例子
查看>>
easyui的datagrid用js插入数据等编辑功能的实现
查看>>
Windows App开发之集合控件与数据绑定
查看>>
AMD、CMD/AMD与CMD的区别
查看>>
Python~第一天
查看>>
Linux管理用户账号
查看>>
redis中使用lua脚本
查看>>
颜色数组
查看>>
ELASTICSEARCH清理过期数据
查看>>
oo第三次博客作业
查看>>
人工智能简介
查看>>
PAT (Advanced Level) 1075. PAT Judge (25)
查看>>
08. Web大前端时代之:HTML5+CSS3入门系列~H5 Web存储
查看>>