ESLint 是一款常用的 JavaScript 代码检查工具,可以帮助我们发现代码中的潜在问题,提高代码质量和可读性。在使用 webpack 搭建 vue 项目时,我们通常会使用 eslint-loader 来集成 ESLint,但是这里有一些坑点需要注意。
1. 与 vue-cli 集成时的坑点
在使用 vue-cli 生成的项目中,ESLint 已经集成好了,我们只需要在项目根目录下的 .eslintrc.js 中配置规则即可。但是如果我们需要自己从零开始搭建项目,就需要手动配置 ESLint,并且需要注意以下几点:
- 需要安装 eslint、eslint-loader、eslint-plugin-vue 这三个依赖。
- 需要在 webpack 配置文件中添加 eslint-loader 的配置,例如:
// www.javascriptcn.com code example
module.exports = {
// ...
module: {
rules: [
{
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [path.resolve(__dirname, 'src')],
options: {
formatter: require('eslint-friendly-formatter')
}
}
]
},
// ...
}- 需要在项目根目录下创建
.eslintrc.js文件,并添加规则配置,例如:
// www.javascriptcn.com code example
module.exports = {
root: true,
env: {
node: true
},
extends: [
'plugin:vue/essential',
'eslint:recommended'
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
},
parserOptions: {
parser: 'babel-eslint'
}
}2. 关于 vue 文件中的坑点
在 vue 文件中,我们通常会使用 <script>、<template>、<style> 三个标签来分别编写 JavaScript、HTML、CSS 代码。但是在使用 ESLint 检查时,需要注意以下几点:
2.1 在 <script> 标签中使用 ESLint
在 <script> 标签中,我们可以像普通的 JavaScript 文件一样编写代码,但是需要注意以下几点:
- 需要在
<script>标签上添加lang="eslint"属性,表示这个标签中的代码需要使用 ESLint 进行检查。 - 需要在标签的闭合标签前添加注释
/* eslint-disable */,表示这个标签中的代码不需要使用 ESLint 进行检查。
例如:
// www.javascriptcn.com code example
<template>
<div>Hello, World!</div>
</template>
<script lang="eslint">
/* eslint-disable */
export default {
name: 'App'
}
</script>
<style>
div {
color: red;
}
</style>2.2 在 <template> 标签中使用 ESLint
在 <template> 标签中,我们可以像普通的 HTML 文件一样编写代码,但是需要注意以下几点:
- 需要在
<template>标签上添加lang="pug"属性,表示这个标签中的代码使用 Pug 语法编写。 - 需要在标签的闭合标签前添加注释
<!-- eslint-disable -->,表示这个标签中的代码不需要使用 ESLint 进行检查。
例如:
// www.javascriptcn.com code example
<template lang="pug">
<!-- eslint-disable -->
div Hello, World!
</template>
<script>
export default {
name: 'App'
}
</script>
<style>
div {
color: red;
}
</style>2.3 在 <style> 标签中使用 ESLint
在 <style> 标签中,我们可以像普通的 CSS 文件一样编写代码,但是需要注意以下几点:
- 需要在
<style>标签上添加lang="scss"属性,表示这个标签中的代码使用 SCSS 语法编写。 - 需要在标签的闭合标签前添加注释
/* eslint-disable */,表示这个标签中的代码不需要使用 ESLint 进行检查。
例如:
// www.javascriptcn.com code example
<template>
<div>Hello, World!</div>
</template>
<script>
export default {
name: 'App'
}
</script>
<style lang="scss">
/* eslint-disable */
div {
color: red;
}
</style>3. 关于 VS Code 中的坑点
在使用 VS Code 编辑器时,我们可以安装 ESLint 插件来进行代码检查。但是需要注意以下几点:
- 需要在 VS Code 的设置中添加以下配置:
// www.javascriptcn.com code example
{
"eslint.validate": [
"javascript",
"vue"
],
"eslint.options": {
"extensions": [
".js",
".vue"
]
}
}- 需要在项目根目录下添加
.vscode/settings.json文件,并添加以下配置:
{
"eslint.options": {
"configFile": ".eslintrc.js"
}
}这样,我们就可以在 VS Code 中进行 ESLint 检查了。
结语
在使用 webpack 搭建 vue 项目时,ESLint 是一个非常重要的工具,可以帮助我们发现代码中的潜在问题,提高代码质量和可读性。但是需要注意以上几个坑点,才能顺利使用 ESLint 进行代码检查。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c58b80cf1e9924e1d3b6f0