前端工程化使用Eslint和Prettier规范化开发(踩坑)

** 工欲善其事必先利其器,前端开发中对团队风格要求越来越高,这个时候就需要我们通过一些插件规范代码风格,eslint+prettier无疑是最好用的组合,但是方便归方便,在使用过程中我们总是会遇到各种各样的坑,为了避免后续踩坑,这里以vscode的安装为工具做个示例。觉得受用的给个赞吧(●’◡’●)!**

第一步 清除多余的插件,还原默认配置

对新手来说,vscode的扩展并不是越多越好的,特别是当你还不那么会调整配置的时候。所以安装之前就先清理扩展和配置,清理扩展很简单,在扩展列表中,将那些插件逐项卸载就行,我就仅保留了vscode的中文包,以及Debugger for Chrome,这两个插件包,而环境配置方面,VSCode中有三种类型的配置文件:
默认配置文件(优先级最低)
用户配置文件(优先级次之)
工程配置文件 (优先级最高)
所以,我们只需要清除用户配置文件的值,以及工程配置文件的值,就是还原到默认配置了,我们可以用快捷键【ctrl+,】打开设置界面。如下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/594b20c4a0e647c68ac30e6656c2dbfd.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LqR56uv5LmL5LiKQGphY2s=,size_20,color_FFFFFF,t_70,g_se,x_16在这里插入图片描述

分别在选择用户和工作区的时候,点击右上角的打开设置的json文件,用户的json文件和工作区的json文件,虽然都是叫settings.json,但在路径上是不同的,一个是在项目目录的.vscode目录下,一个是在C盘的用户目录下的。将这两个文件中的配置都全部清除,仅保留{}。这样根据vscode的配置优先级来说,就是默认配置了。
在这里插入图片描述
在这里插入图片描述

第二步 安装Vetur插件

在Vscode的扩展中搜索Vetur,Vetur的功能就是语法突出显示,错误提示,格式化,自动完成等
安装之后,js/css文件都有高亮显示了,但是保存之后可能没有格式化,我们需要做一下特殊设置
在这里插入图片描述
下一步,我们开始配置Vetur中的风格处理,无论是Vetur官网,还是vscode设置中显示,vetur的formatter大多采用的Prettier风格。有2个地方可以进行配置prettier风格参数,一个是vscode的配置文件settings.json,还有一个就是在项目根目录下创建.prettierrc文件,文件内容也是采用json格式,但是需要注意:根据官网的说明,一旦在项目的根目录下存在.prettierrc文件,则settings.json中的prettier配置就会无效。

// settings.json
 
{
   
  ......
 
  "vetur.format.defaultFormatterOptions": {
   
    "prettier": {
   
      // Prettier option here
      "trailingComma": "es5", // 多行时,尽可能打印尾随的逗号
      "tabWidth": 4, // 会忽略vetur的tabSize配置
      "useTabs": false, // 是否利用tab替代空格
      "semi": true, // 句尾是否加;
      "singleQuote": true, // 使用单引号而不是双引号
      "arrowParens": "avoid", // allow paren-less arrow functions 箭头函数的参数使用圆括号
    }
  }
}
// .prettierrc
{
   
    "tabWidth": 4, // 会忽略vetur的tabSize配置
    "useTabs": false, // 是否利用tab替代空格
    "semi":false, // 句尾是否加;
    "trailingComma": "none", // es5多行时,尽可能打印尾随的逗号
    "arrowParens": "avoid", // allow paren-less arrow functions 箭头函数的参数使用圆括号
    "vueIndentScriptAndStyle":true,
}

3.安装ESLint插件

在搞定了Vetur之后,我们来安装ESlint,在扩展商店搜索eslint,很容易就找到这个插件,相关的插件还有很多,例如Prettier ESLint等,我们一个一个来,先搞定ESLint再说,看eslint插件的说明,单单vscode中安装eslint是不够的,还需要项目中安装eslint依赖包。也就是需要在package.json中需要eslint,而eslint是针对很多种开发语言的,针对每一个开发语言都有一个独立的插件,对应vue的就是eslint-plugin-vue了,我们需要在项目目录下执行下面语句来执行安装。

> npm install -D eslint eslint-plugin-vue --registry=https://registry.npm.taobao.org

安装完eslint和eslint-plugin-vue之后,我们还需要创建eslint的配置文件,建议在项目根目录下,用命令行方式执行eslint --init来创建配置文件,因为生产的.eslintrc.js文件就在你当前执行命令的目录下。注意:我之前想在vscode的终端上直接执行命令,可惜提示什么策略不对,就是权限不足,懒得再去搞什么配置策略,直接用cmd命令,在项目目录下执行就行。

// .eslintrc.js
module.exports = {
   
    "env": {
       //用来预定义全局环境变量,常用的有browser,es6,node,jest,jquery
        "browser": true,
        "es6": true,
        "node": true
    },
    
    "extends": [
        "eslint:recommended",
        "plugin:vue/essential"
    ],
    "parserOptions": {
     // 支持的 JavaScript 语言选项
        "parser": "babel-eslint",   // 默认使用Espree作为其解析器,除此之外就Esprima,Babel-ESLint,@typescript-eslint/parser
        "ecmaVersion": 12, // ECMAScript 版本,默认设置为 3,5(默认),也可以年份,2015(同 6),2012(as 12)
        "sourceType": "module"  // "script" (默认) 或 "module"(如果你的代码是 ECMAScript 模块)
    },
    "plugins": [    //eslint支持使用第三方插件,需要npm先安装,后使用
        "vue"   // 可以用package的名称,eslint-plugin-vue,也可以省略eslint-plugin-,直接填写vue
    ],
    "rules": {
   
        // 强制使用单引号 
        'quotes': ['error', 'single'],
        // 在块级作用域外访问块内定义的变量是否报错提示 
        'block-scoped-var': 0,
    }
};

安装完这个,我们就可以在vscode中发现,eslint已经生效了。为了避免eslint对没必要的文件也进行检查,添加一个.eslintignore文件,保存需要略过的文件和目录

# .eslintignore
build/*.js
src/assets
public
dist
.eslintrc.js

下一步需要在vscode中增加eslint的相关配置。

// settings.json
{
   
.......
 
  // 指定eslint校验的文件类型
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "html",
    "vue"
  ],
  // "eslint.autoFixOnSave": true,
  "editor.codeActionsOnSave": {
   
    "source.fixAll.eslint": true
  },
  "eslint.run": "onSave",   // 保存就校验
}

接下来,在package.json中补上eslint校验的命令行,我们在package.json中,找到scripts节点,增加一行新的启动命令 “lint”: “vue-cli-service lint”。

//package.json
{
   
  ......
 
  "scripts": {
   
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
 
  ......
}

可以根据自己的习惯来修改这些规则,注意所有规则第一个值适用下面定义,0或off:关闭;1或warn:提示警告,但不影响代码存在;2或error:提示错误,执行ESLint校验会导致失败。完整的.eslintrc.js如下:

// .eslintrc.js
module.exports = {
   
    "root": true,    // 表明这就是根目录了,停止去父级目录中寻找配置
    "env": {
   
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: ESLintPrettier可以联合使用来提高代码质量和可读性。ESLint用于检查代码是否符合规范,而Prettier则用于格式化代码,使其更易于阅读和维护。两者的结合可以帮助开发人员在编写代码时更加高效和准确。同时,ESLintPrettier都可以通过配置文件进行个性化设置,以满足不同项目的需求。 ### 回答2: Eslintprettier都是在开发过程中用于代码检查和格式化的工具,二者结合使用可以大大提高代码质量和开发效率。 Eslint是一种静态代码分析工具,可以检查和捕获代码中的错误和潜在问题,并提供规则和规范来强制执行最佳实践。它可以检查各种语言的代码,并能够根据eslint配置文件中的规则进行标记和警告。Eslint还可以集成到IDE和编辑器中,方便开发者及时发现和修复问题。 Prettier是一种自动化代码格式化工具,可以帮助开发者自动格式化代码,并保持一致的代码风格。与许多其他代码格式化工具不同的是,Prettier没有配置选项或细节设置。相反,Prettier将代码格式化为一种标准化的样式,以保证代码的可读性和一致性。 将EslintPrettier结合使用,可以在代码开发期间将代码格式问题和代码质量问题快速检测出来,并在编辑器中展示,同时也可以自动执行代码格式化和标准化,提高代码质量和开发效率。通常,面对不同类型的代码问题,EslintPrettier都具有独特的处理方法,其中Eslint可以更好的解决一些代码规范和质量问题,Prettier则可以更好的解决代码结构和格式化问题。 要让EslintPrettier联合使用,通常需要将Prettier作为Eslint的插件进行配置。这可以通过将Prettier规则添加到Eslint中来实现,以及设置一些特定的配置选项和规则。同时,可以在EslintPrettier的配置文件中相互引用,以保证二者的一致性和关联性。 总的来说,EslintPrettier联合使用,可以帮助开发者检测和解决一些常见的代码问题和格式化问题,提高代码质量和开发效率,是一个非常值得推荐的开发实践。 ### 回答3: 对于前端开发人员来说,代码格式规范一直是一个重要的问题。为了让代码更整洁、易于阅读和可维护性强,通常需要手动编写代码,以符合团队的规范和标准。但随着前端框架和工具的发展,我们可以使用一些自动化工具来帮助我们实现代码格式化和规范化。其中,eslintprettier是目前非常流行的两个工具。在本篇文章中,我们将介绍eslintprettier联合使用的优势和实现方法。 一、eslint是什么 eslint是一个JavaScript代码检查工具,它可以识别出代码中的潜在问题,如语法错误、代码风格违规等,并提供一些自动修复功能,帮助程序员编写更加规范的代码。eslint可以通过插件灵活扩展,并支持与常用的编辑器集成,如Visual Studio Code、Sublime Text等。以上特点让eslint在微软TypeScript、React等社区具有很高的使用率和推广。 二、prettier是什么 prettier是专门用来格式化代码的工具,它可以自动规范代码的缩进、空格、换行等,让代码完全符合团队的规范。prettier支持多种语言,包括JavaScript、TypeScript、CSS、SCSS、Less等。prettier的优势是能够解决各种代码格式化问题,支持ES6、JSX、TS等最新的语法,可以应用于各种框架和库。 三、使用eslintprettier联合使用的好处 使用eslintprettier联合使用的好处主要有以下几点: 1. 代码规范性更高:通过eslint可以指定定义的代码规范,prettier可以使代码更加统一和规范,从而提升团队开发效率和代码重用性。 2. 提高开发效率:自动化规范程序员可以跳过繁琐的规范化代码环节,有更多的精力去开发业务代码。 3. 避免争论:代码格式规范一直是团队里开发者之间常见的争论点之一,通过工具执行,可以避免代码风格规范的差异,减少因代码风格问题引起的争论。 4. 降低代码维护成本:规范化的代码可降低翻新、修复和维护代码的难度,减少因为代码风格问题出现的一些 bug。 四、eslint+prettier联合使用的实现方法 1.安装eslintprettier 在项目中安装eslintprettier依赖: ``` npm install eslint prettier --save-dev ``` 2.安装eslint的插件 eslint可以借助插件进行功能扩展,在项目中安装eslint相关的插件: ``` npm install eslint-config-prettier eslint-plugin-prettier --save-dev ``` 3.创建eslint配置文件 在项目根目录下创建.eslintrc.js文件,加入如下代码: ``` module.exports = { extends: ['plugin:prettier/recommended'], plugins: [ 'prettier' ], rules: { 'prettier/prettier': 'error' } } ``` 4.创建prettier配置文件 在项目根目录下创建.prettierrc.js文件,加入如下代码: ``` module.exports = { singleQuote: true, semi: false } ``` 以上代码是一个简单的使用示例,我们定义为了单引号和省略分号的规范,这样可以避免常见的一些问题。 5.在编辑器中集成 在编辑器中安装eslintprettier插件,然后更新保存操作的配置即可,如下图: ![prettier-vscode.png](https://cdn.nlark.com/yuque/0/2022/png/348394/1642563196216-f11d6356-fcd6-4728-a0d4-6949f31c70a8.png#align=left&display=inline&height=1024&margin=%5Bobject%20Object%5D&name=prettier-vscode.png&originHeight=1024&originWidth=1280&size=586352&status=done&style=none&width=1280) 例如在VS Code中的配置:编辑器 => 首选项 => 设置,使用 F1 打开命令面板,输入 settings 命令即可进入设置页面。在搜索框中输入 settings.json 并打开该配置文件,在文件中加入以下代码即可实现自动触发代码格式化: ``` "editor.formatOnSave": true ``` 至此,eslint+prettier联合使用的基础配置已经完成。 综上所述,eslintprettier是目前非常流行的前端组件,使用它们开发程序代码将会让代码更加规范、易于维护,同时也是提高开发效率的有效方法。通过以上实现方式,可以在项目中轻松实现eslint+prettier联合使用的效果,提升代码的可读性和整洁度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值