vscode+vue cli3.0创建项目配置Prettier+eslint方式

 更新时间:2023年10月20日 10:50:24   作者:miss-f  
这篇文章主要介绍了vscode+vue cli3.0创建项目配置Prettier+eslint方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、vue create 项目名创建项目时选择自定义创建

会询问你是否安装eslint,我选择了ESLint + Prettier方式;

他会默认下载

  • eslint
  • babel-eslint
  • eslint-plugin-prettier
  • eslint-plugin-vue
  • @vue/eslint-config-prettier

等插件

2、创建项目时

你会选择1种直接在package.json中生成eslint配置即字段eslintConfig里面

(个人不喜欢这个方式。你对写的东西不方便备注)

还有一种就是在项目下面创建一个.eslintrc.js文件里面配置你的eslint配置

3、如下是我个人配置的.eslintrc.js

module.exports = {
  // 默认情况下,ESLint会在所有父级组件中寻找配置文件,一直到根目录。ESLint一旦发现配置文件中有   "root": true,它就会停止在父级目录中寻找。
  root: true,
  // 该配置属性定义来一组预定义的全局变量。这些环境并不是互斥的,所以你可以同时定义多个。
  env: {
    node: true,
  },
  // extends是扩展插件的意思,用来配置vue.js风格
  extends: [
    "plugin:vue/essential", // 全称 eslint-plugin-vue
    "@vue/prettier", // 全称 eslint-plugin-prettier
  ],
  // ESLint 支持使用第三方插件。在使用插件之前,你必须使用包管理工具安装它。
  // 在配置文件里配置插件时,可以使用 plugins 关键字来存放插件名字的列表。
  // 插件名称可以省略 eslint-plugin- 前缀。
  plugins: ["vue"],
  // 额外的全局变量。我们使用第三方提供的全局变量的时候(例如:jQuery,AMap 等对象),
  // ESLint 并不能识别他们,总是会报错。这个时候,该配置的作用就出现了。
  // 使用 globals 指出你要使用的全局变量。将变量设置为 true 将允许变量被重写,或 false 将不允许被重写。
  globals: {
    // $: false,
    // jquery: false,
    // AMap: false
  },
  // ESLint 的规则。你可以使用注释或配置文件修改你项目中要使用的规则。
  // rules:开启规则和发生错误时报告的等级,规则的错误等级有三种:
  // 0 或'off':关闭规则。
  // 1 或'warn':打开规则,并且作为一个警告(并不会导致检查不通过)。
  // 2 或'error':打开规则,并且作为一个错误(退出码为1,检查不通过)
  rules: {
    // allow debugger during development
    "no-console": process.env.NODE_ENV === "production" ? "error" : "off",
    "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
    "prettier/prettier": [
      "error",
      {
        semi: false, // 是否使用分号, 默认true
        singleQuote: true, // 使用单引号, 默认false(在jsx中配置无效, 默认都是双引号)
      },
    ],
  },
  parserOptions: {
    parser: "babel-eslint",
  },
};

4、vscode需要安装几个格式化插件

  • Beautify
  • ESLint
  • Vetur
  • Prettier - Code formatter

然后点击文件=>首选项=>设置会有用户设置和工作区设置建议保存在工作区设置以便大家共享

5、工作区设置后

会在项目下生成一个.vscode文件夹下面有setting.json

以下是我的配置:

{
// 把eslint保存在工作区,方便大家共享
   // 配置eslint
   "vetur.validation.template": false,
   // vscode默认启用了根据文件类型自动设置tabsize的选项
   "editor.detectIndentation": false,
   //关闭Vetur的linting功能
   // "vetur.validation.template": false,
   // 重新设定tabsize
   "editor.tabSize": 2,//制表符符号eslint
   //  #让函数(名)和后面的括号之间加个空格
   "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
   // #这个按用户自身习惯选择 
   "vetur.format.defaultFormatter.html": "js-beautify-html",//格式化.vue中html
   "vetur.format.defaultFormatter.ts": "none",
   // #让vue中的js按编辑器自带的ts格式进行格式化 
   "vetur.format.defaultFormatter.js": "vscode-typescript",
   "vetur.format.defaultFormatterOptions": {
     "js-beautify-html": {
       "wrap_attributes": "auto", //属性强制折行对齐
       "end_with_newline": false,
     },
     "prettier": {
       "semi": false, //  #去掉代码结尾的分号 
       "singleQuote": true //  #使用带引号替代双引号 
     }
   },
   // 每次保存的时候自动格式化(建议关掉,用eslint来修复)
   "editor.formatOnSave": false,
   
   //旧版本配置
    // 每次保存的时候将代码按eslint格式进行修复
   // "eslint.autoFixOnSave": true,
   // 添加 vue 支持
   "eslint.validate": [
     "javascript",
     "javascriptreact",
     "html",
     "vue",
   ],
   "eslint.options": {
     "extensions": [
         ".js",
         ".vue"
     ]
 },
    //新版本配置
  "editor.codeActionsOnSave": {
     "source.fixAll.eslint": true
   },
   "[javascript]": {
     "editor.defaultFormatter": "esbenp.prettier-vscode"
   },
   "[json]": {
     "editor.defaultFormatter": "HookyQR.beautify"
   },
   "[html]": {
     "editor.defaultFormatter": "vscode.html-language-features"
   },
   // "vetur.format.options.tabSize": 2,
   // 文件头部注释  
   "fileheader.customMade": {
     "Descripttion": "",
     "version": "",
     "Author": "Mr.fang",
     "Date": "Do not edit",
     "LastEditors": "Mr.fang",
     "LastEditTime": "Do not Edit"
   }, //函数注释  
   "fileheader.cursorMode": {
     "name": "",
     "test": "test font",
     "msg": "",
     "param": "",
     "return": ""
   },
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 单页面Vue页面刷新出现闪烁问题及解决

    单页面Vue页面刷新出现闪烁问题及解决

    这篇文章主要介绍了单页面Vue页面刷新出现闪烁问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • vue-router中query和params的区别解析

    vue-router中query和params的区别解析

    vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用,这篇文章主要介绍了vue-router中query和params的区别 ,需要的朋友可以参考下
    2022-10-10
  • vue2+elementui进行hover提示的使用

    vue2+elementui进行hover提示的使用

    本文主要介绍了vue2+elementui进行hover提示的使用,主要分为外部和内部,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • vue连接本地服务器的实现示例

    vue连接本地服务器的实现示例

    本文主要介绍了vue连接本地服务器的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • vue2导入使用vue-codemirror组件的教程详解

    vue2导入使用vue-codemirror组件的教程详解

    vue-codemirror是一个基于Vue的代码在线编辑器组件,它封装了CodeMirror编辑器,使得在Vue项目中可以方便地使用CodeMirror,下面我们就来看看vue-codemirror的具体使用吧
    2024-02-02
  • 使用Vue完成一个简单的todolist的方法

    使用Vue完成一个简单的todolist的方法

    本篇文章主要介绍了使用Vue完成一个简单的todolist的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 去除Element-Plus下拉菜单边框的实现步骤

    去除Element-Plus下拉菜单边框的实现步骤

    Element-Plus 是 Element UI 的 Vue 3 版本,它提供了一套完整的组件库,在使用 Element-Plus 进行开发时,我们可能会遇到需要自定义组件样式的情况,本文将介绍如何使用 CSS 来去除 Element-Plus 下拉框的边框,需要的朋友可以参考下
    2024-03-03
  • Vue项目之ES6装饰器在项目实战中的应用

    Vue项目之ES6装饰器在项目实战中的应用

    作为一个曾经的Java coder,当第一次看到js里面的装饰器Decorator,就马上想到了Java中的注解,当然在实际原理和功能上面,Java的注解和js的装饰器还是有很大差别的,这篇文章主要给大家介绍了关于Vue项目之ES6装饰器在项目实战中应用的相关资料,需要的朋友可以参考下
    2022-06-06
  • vue中环境变量的使用与配置讲解

    vue中环境变量的使用与配置讲解

    这篇文章主要介绍了vue中环境变量的使用与配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vant 时间选择器--开始时间和结束时间实例

    vant 时间选择器--开始时间和结束时间实例

    这篇文章主要介绍了vant 时间选择器--开始时间和结束时间实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论