Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cklwblove/linter-docs

linter docs
https://github.com/cklwblove/linter-docs

Last synced: about 4 hours ago
JSON representation

linter docs

Awesome Lists containing this project

README

        

# [前端编码规范][网站]

## 快速开始

请根据你的项目使用的技术栈选择以下配置:

- [内置规则](#内置规则)
- [Vue](#vue)

## 使用方法(ESLint)

### 内置规则

```bash
npm install --save-dev eslint babel-eslint eslint-config-win
```

在你的项目的根目录下创建一个 `.eslintrc.js` 文件,并将以下内容复制进去:

```js
module.exports = {
extends: [
'win',
],
env: {
// 你的环境变量(包含多个预定义的全局变量)
//
// browser: true,
// node: true,
// mocha: true,
// jest: true,
// jquery: true
},
globals: {
// 你的全局变量(设置为 false 表示它不允许被重新赋值)
//
// myGlobal: false
},
rules: {
// 自定义你的规则
}
};
```

### Vue

```bash
npm install --save-dev eslint babel-eslint vue-eslint-parser eslint-plugin-vue eslint-config-win
```

在你的项目的根目录下创建一个 `.eslintrc.js` 文件,并将以下内容复制进去:

```js
module.exports = {
extends: [
'win',
'win/vue',
],
env: {
// 你的环境变量(包含多个预定义的全局变量)
//
// browser: true,
// node: true,
// mocha: true,
// jest: true,
// jquery: true
},
globals: {
// 你的全局变量(设置为 false 表示它不允许被重新赋值)
//
// myGlobal: false
},
rules: {
// 自定义你的规则
}
};
```

## 使用方法(StyleLint)
可见 [stylelint-config-win](https://github.com/cloud-templates/stylelint-config-win)

## 常见问题

### 在 VSCode 中使用

在 VSCode 中,默认 ESLint 并不能识别 `.vue` 文件,需要在「文件 => 首选项 => 设置」里做如下配置:

```json
{
"eslint.validate": [
"javascript",
"vue"
]
}
```

### VSCode 中的 autoFixOnSave 没有效果

如果需要针对 `.vue` 文件开启 ESLint 的 autoFix,则需要配置成:

```json
{
"eslint.autoFixOnSave": true,
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "vue",
"autoFix": true
}
]
}
```

## 常用命令

```bash
# 安装依赖
npm i
# 构建 index.js vue.js 等 eslintrc 配置
npm run build
# 执行测试
npm test
# 自动修复 ESLint 错误
npm run eslint:fix
# 自动修复格式错误
npm run prettier:fix
# 检查当前是否覆盖了所有的规则
npm run test:rulesCoverage
# 发布新版本
npm version
git push --follow-tags
npm publish
```

## 参考

- [Alloyteam Code Guide](http://alloyteam.github.io/CodeGuide)
- [ESlint Code Guide](http://eslint.org/docs/user-guide/configuring)
- [ESlint Shareable Config](http://eslint.org/docs/developer-guide/shareable-configs)

[Prettier]: https://prettier.io/
[网站]: http://fulldev.winner123.cn/h5-linter-docs/
[ESLint 的理念]: https://eslint.org/docs/about/#philosophy