摘要
在taro项目中,一般很少有集成其他eslint 格式校验规则的情况,如 standard / airbnb 等,但没准呢,对于所有项目都使用相同校验规则的团队来说,别人就是想集成自己喜欢的校验规则,就是不中意taro自带的校验规则。
如何在taro3中集成standard校验规则?这是我遇到的问题,记录下正确填坑方式。
在网上搜索了很多解决方法,大部分都是先装上 eslint-config-standard 依赖,然后再在 .eslintrc.js下 extends属性中配置 extends:['standard']
,在经过一翻折腾之后,发现这种方式很不方便,不仅需要安装 eslint-config-standard 依赖,还要手动安装其他的一些杂七杂八的依赖,而且具体需要哪些依赖,你缺哪些依赖,哪些依赖版本应该怎么定,都会把人弄晕。
配置方法
最后,讲下我的解决方案,以下方案我是在 npmjs.com 上 关于eslint-config-standard 这个依赖的介绍里看到的,这里提供了自动配置 eslint 的方法,具体做法如下图所示:
先使用 npx eslint --init
命令进行eslint 初始化,然后根据指示一步一步往下进行即可,示例如下图:
选择安装eslint的作用;
选择使用什么 modules,现在一般都是第一个了;
选择项目框架;
选择项目运行环境;
选择eslint 格式校验规则配置选项,是选择当下几个主流的校验规则还是自定义,这里选第一个;
选 standard
选配置文件生成格式,这里选 JavaSccript格式的;
自动检查你当前所需要的eslint版本与你已安装的版本是否匹配,不匹配需要帮更新;
配置standard需要安装的所有依赖,这里都给你列出来了,只需要输入 yes 安装即可;
安装中….
安装完后会生成新的eslint配置文件;
遇到的坑:
问题
我在安装完成后曾出现以下这个问题:
Error: .eslintrc.js » eslint-config-standard:
Environment key "es2021" is unknown
问题原因
出现问题的原因是:
当前版本的 eslint 与 eslint-config-standard 版本不兼容,这个在stackoverflow 上有很多大神提示;
解决方案
- 降级 eslint-config-standard 版本;
- 删除.eslintrc.js里面的env中的es2021属性;(如果有这个属性的话)
具体做法是:
npm install eslint-config-standard@14.1.1 eslint-plugin-standard -dev
其他问题
如果安装过程出现其他问题,可以这样解决:
- 使用 rimraf node_modules 命令 先删除事先已经存在的依赖包;
- 使用 npx eslint —init 命令配置eslint,重新执行一次上面教程里的操作;
- 使用 npm install 重新安装系统的依赖;