前端工程化---规范化标准

为什么要去做规范化

在开发一个大型应用之前,进行规范化标准的指定是必不可少的,千万不要嫌麻烦而忽略这项工作。否则等待你的将是一个无底洞的深渊。一个大型应用的开发不可能是你一个人独自进行,即使就算能力、精力超强,你一个人可以负责,但是你也要考虑到后续其他开发人员对你的项目进行维护。

ESLint

安装

  • 作为项目内部的开发依赖进行安装
yarn add eslint -D

初始化

选择一个配置文件的模板,一共三种:

  • To check syntax only (只检查语法错误)
  • To check syntax and find problems (检查语法错误并找到问题代码—例如:定义未使用的变量就是问题代码)
  • To check syntax, find problems, and enforce code style (检查语法错误、找到问题代码并且校验代码风格 ----代码风格:例如每行缩进,单层双引号等)
  • 推荐使用第三种
yarn eslint --init

ESlint 与webpack集成

  • 安装eslint-webpack-plugin插件
yarn add eslint-webpack-plugin -D
  • 配置
const ESLintPlugin = require('eslint-webpack-plugin');

{
	plugins: [
		new ESLintPlugin({
            overrideConfigFile: require.resolve('../.eslintrc.js') // 指定一个eslint的配置文件(就是eslint初始化的时候,在根目录生成的.eslintrc.js文件)
        })
	]
}

stylelint

安装

yarn add stylelint stylelint-config-standard stylelint-config-sass-guidelines -D

配置

  • 根目录下创建.stylelintrc.js配置文件
module.exports = {
    extends: [
        "stylelint-config-standard",
        "stylelint-config-sass-guidelines",
    ]
}

stylelint 与webpack集成

  • 通过stylelint-webpack-plugin插件进行集成
yarn add stylelint-webpack-plugin -D
{
	 plugins: [
		new StylelintWebpackPlugin({
            configFile:require.resolve('../.stylelintrc.js')  // 指定一个stylelint的配置文件
        })
	]
}

prettier

  • 自动格式化代码的工具

安装

yarn add prettier -D

配置

  • 项目根目录下创建.prettierrc.js文件
{
  "printWidth": 100, //每行到多少长度开始折行
  "tabWidth": 2,
  "singleQuote": true, //单引号
  "trailingComma": "none", //数组、对象最后一个元素的尾逗号
  "bracketSpacing": true, //花括号前后空格
  "jsxBracketSameLine": true, //使多行JSX元素最后一行末尾的 > 单独一行
  "parser": "babel", //指定使用哪一种解析器
  "semi": true, //是否在行尾加分号
  "useTabs": true, //使用tab(制表符)缩进而非空格
  "arrowParens": "avoid", //只有一个参数的箭头函数的参数是否带圆括号(默认avoid不带)
  "jsxSingleQuote": true, //在JSX中使用单引号
  "htmlWhitespaceSensitivity": "ignore", //为 HTML 文件定义全局空格敏感度
  "quoteProps": "as-needed" //自定义引号配置
}

prettier与编辑器的集成

webstorm

webstorm默认支持prettier,无需额外进行配置 直接option+command+L进行格式化代码即可

vscode

  • 安装Prettier - Code formatter插件
  • 根目录下有.prettierrc.js配置文件
  • 键盘使用Shift+Alt+F 格式化代码

git hooks

  • 在代码提交之前强制lint一下
  • 原理就是通过git提供的钩子来对提交前做一些操作
  • 通过husky实行这个功能

安装

yarn add husky -D

使用

  • 在package.json中添加husky字段
  • 配置hooks属性
  • hooks属性中添加pre-commit,其值是一个script命令,可以在git提交之前进行调用
{
	"husky": {
	    "hooks": {
	      "pre-commit": "yarn check"
	    }
  	}
}

lint-staged

  • 与husky配合,在完成提交之前的eslint之后 可以继续一些其它额外的操作

安装

yarn add lint-staged -D

使用

  • package.json新增lint-staged字段
{
	"lint-staged": {
	    "*.js": [
	      "eslint",
	      "git add "
	    ]
  	}
}
  • 更改husky字段的值
{
	"husky": {
	    "hooks": {
	      "pre-commit": "yarn precommit"
	    }
  	}
}
  • 更改script字段中的启动命令
{
	"scripts": {
	    "precommit": "lint-staged"
  	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值