eslint

就是为了项目代码规范而设置的一些配置,默认支持 js 和 jsx 语法

配置文件

一般为 .eslintrc / .eslintrc.js / .eslintrc.json

具体格式

主要配置如下,不需要死记硬背,需要什么配置去文档查

module.exports = {
	// 解析选项
	parserOptions: {
		ecmaVersion: 6, // es语法版本
		sourceType: "module", // es模块化
		ecmaFeatures: { // es其他配置
			jsx: true // 如果是react项目,开启jsx语法
		}
	}
	// 具体检查规则,配置的规则大于继承的规则
	// off / 0 - 关闭规则
	// warn / 1 - 开启规则,并且使用警告级别提示(不会退出程序)
	// error / 2 - 开启规则,并且使用错误级别提示(直接退出程序)
	rules: {
		semi: 2, // 禁止使用分号
	}
	// 继承其他规则
	extends: {}
}

babel

主要用于把 es6 的语法编译成 兼容的 js 语法,开始监听全局的 document.contentLoad 此时页面的所有 script 标签加载完毕,然后再通过 document.getElementByTagName 去获取标签,通过 getAttributes 获取 type 属性,如果等于 text/bable 则开始编译,把我们写的代码通过 babel 自己的 transform 方法转换,最后通过一个新的script 标签插入到 head 中,默认是严格模式

配置文件

一般为 babel.config.js / json 或者 .babelrc.js / json ,还可以直接在package.json中直接配置

通过下载对应的 loader 编译使用