美文网首页
eslint+prettier

eslint+prettier

作者: 小雨雪smile | 来源:发表于2021-04-02 16:38 被阅读0次

    前言

    使用eslint+prettier好处:

    • 避免运行时因格式问题报错
    • 方便团队合作,代码风格统一
    1.建立项目

    利用Vue-cli3建立Vue项目时,一定要选上Linter/Formatter,然后选择 ESLint + Prettier


    2.安装vscode插件

    首先在vscode中安装如下三个插件:

    • eslint
    • vetur
    • prettier
    3.配置
    • .eslintrc.js(根目录下找)


      注:代码缩进不是4个空格报错。

    • .prettierrc
      在文件根目录下创建.prettierrc对prettier格式化进行自定义规则设置,以下为我添加的规则
    {
     /* 单引号包含字符串 */
     "singleQuote": true,
     /* 不添加末尾分号 */
     "semi": false,
     /* 在对象属性添加空格 */
     "bracketSpacing": true,
     /* 优化html闭合标签不换行的问题 */
     "htmlWhitespaceSensitivity": "ignore",
     /* 只有一个参数的箭头函数的参数是否带圆括号(默认avoid) */
     "arrowParens": "avoid"
    }
    
    • .editorconfig
      只需配置一个 .editorconfig 文件,在其中设置好要遵守的代码规范,放在项目的根目录下,就能够在几乎所有的主流 IDE 和编辑器中复用了,可以将 .editorconfig 文件也提交到版本控制系统中,就不需要针对不同 IDE 和编辑器再单独进行设置了
      vscode sublimeText 需要安装 EditorConfig 插件。

    其工作原理是:当你在编码时,EditorConfig 插件会去查找当前编辑文件的所在文件夹或其上级文件夹中是否有 .editorconfig 文件。如果有,则编辑器的行为会与 .editorconfig 文件中定义的一致,并且其优先级高于编辑器自身的设置。

    在文件根目录下创建.editorconfig,内容如下:

    root = true
    
    # 对所有文件生效
    [*]
    charset = utf-8  //文件编码。可选值(latin1/utf-8/utf-16be/utf-16le)
    indent_style = space   //缩进风格为 空格可选值(space/tab)
    indent_size = 4 //缩进大小 (一般设置 2 或 4)
    end_of_line=lf //换行符格式。(lf 一般用这个/ crlf/ cr)
    insert_final_newline=true  //是否在文件的最后插入一个空行 。(true/false)
    trim_trailing_whitespace=true //是否删除行尾的空格。(true/false)
    
    [*.html]
    indent_size = 4
    max_line_length = 80
    
    # 对后缀名为 md 的文件生效
    [*.md]
    trim_trailing_whitespace = false
    
    

    完整版见这里

    • setting.json(vscode中自带的setting)
    {
        "git.path": "E:/Git/bin/git.exe",
        "vetur.validation.template": true,
        "git.autofetch": true,
        "editor.tabSize": 4,
        "eslint.autoFixOnSave": true,
        // "editor.detectIndentation": false,
        "vetur.format.options.tabSize": 4,//四格缩进
        // "vetur.format.styleInitialIndent": true,
        // "vetur.format.options.useTabs": true,
        // "vetur.format.scriptInitialIndent": true,
        "vetur.format.defaultFormatter.html": "js-beautify-html",
        "vetur.format.defaultFormatterOptions": {
            "js-beautify-html": {
                "wrap_attributes": "auto",//属性不换行
                "end_with_newline": false
            }
            // "prettier": {
            //     // Prettier option here
            //     "semi": false, //要分号
            //     "singleQuote": true //要单引号
            // }
        },
        "gitlens.gitExplorer.files.layout": "list",
        "editor.codeActionsOnSave": {
            "source.fixAll.eslint": true
        },
        "update.channel": "none",
        "eslint.validate": [
            "javascript",
            "javascriptreact",
            {
              "language": "vue",
              "autoFix": true
            },
            "vue"
        ],
        "window.zoomLevel": 0
    }
    
    

    相关文章

      网友评论

          本文标题:eslint+prettier

          本文链接:https://www.haomeiwen.com/subject/znkqkltx.html