首頁  >  文章  >  web前端  >  實例詳解vue-cli vscode 設定 eslint

實例詳解vue-cli vscode 設定 eslint

小云云
小云云原創
2017-12-22 15:39:552267瀏覽

Vue-cli是Vue的鷹架工具,本文我們主要和大家分享vue-cli vscode  設定 eslint ,希望能幫助大家。

效果

  • #可以即時在vscode中顯示不符合規範的提示訊息

  • 可以透過執行<span style="font-size: 14px;">npm run lint</span>格式化所有不符合規範的程式碼,並列出所有需手動修改後的程式碼錯誤及定位

  • 可以自訂規格【預設用的是eslint推薦的規格JavaScript Standard Style】

可以透過<span style="font-size: 14px;">/*eslint-disable */</span>讓下面的程式碼不接受程式碼規格檢查、透過<span style="font-size: 14px;">/*eslint-enable */</span>讓下面的程式碼重新接受程式碼規格檢查、透過<span style="font-size: 14px;">// eslint-disable-line no- undef</span>讓某行程式碼不接受規範檢查以及可以有未定義的變數

如何設定

主要包括vscode的外掛程式安裝及設定與命令列外掛程式的安裝及設定

#step1 vscode的外掛程式安裝及設定

  1. <span style="font-size: 14px;"></span>##在vscode中搜尋ESlint並安裝

#在vscode的使用者設定中加入以下程式碼:

<span style="font-size: 14px;">// 自动识别文件类型<br>    "emmet.syntaxProfiles": {<br>        "vue-html": "html",<br>        "vue": "html"<br>    },<br>    "eslint.autoFixOnSave": false,<br>    // 要lint的语言<br>    "eslint.validate": [<br>        "javascript",<br>        "javascriptreact",<br>        "html",<br>        "vue",<br>        {<br>            "language": "vue",<br>            "autoFix": true<br>        }<br>    ],<br>    "eslint.options": {<br>        "plugins": [<br>            "html"<br>        ]<br>    }<br></span>

在專案根目錄下新建<span style="font-size: 14px;"></span>eslintrc.json
檔案並加入如下程式碼: <span style="font-size: 14px;"></span>

<span style="font-size: 14px;">{<br>    "root": true,<br>    "parserOptions": {<br>        "sourceType": "module"<br>    },<br>    "env": {<br>        "browser": true,<br>        "es6": true<br>    },<br>    "extends": "eslint:recommended",<br>    "plugins": [<br>        "html"<br>    ],<br>    "rules": {<br>        "accessor-pairs": 2,<br>        "arrow-spacing": [2, {<br>          "before": true,<br>          "after": true<br>        }],<br>        "block-spacing": [2, "always"],<br>        "brace-style": [2, "1tbs", {<br>          "allowSingleLine": true<br>        }],<br>        "camelcase": [0, {<br>          "properties": "always"<br>        }],<br>        "comma-dangle": [2, "never"],<br>        "comma-spacing": [2, {<br>          "before": false,<br>          "after": true<br>        }],<br>        "comma-style": [2, "last"],<br>        "constructor-super": 2,<br>        "curly": [2, "multi-line"],<br>        "dot-location": [2, "property"],<br>        "eol-last": 2,<br>        // "eqeqeq": [2, "allow-null"],<br>        "eqeqeq": 0,<br>        "generator-star-spacing": [2, {<br>          "before": true,<br>          "after": true<br>        }],<br>        "handle-callback-err": [2, "^(err|error)$"],<br>        "indent": [2, 2, {<br>          "SwitchCase": 1<br>        }],<br>        "jsx-quotes": [2, "prefer-single"],<br>        "key-spacing": [2, {<br>          "beforeColon": false,<br>          "afterColon": true<br>        }],<br>        "keyword-spacing": [2, {<br>          "before": true,<br>          "after": true<br>        }],<br>        "new-cap": [2, {<br>          "newIsCap": true,<br>          "capIsNew": false<br>        }],<br>        "new-parens": 2,<br>        "no-array-constructor": 2,<br>        "no-caller": 2,<br>        "no-console": "off",<br>        "no-class-assign": 2,<br>        "no-cond-assign": 2,<br>        "no-const-assign": 2,<br>        "no-control-regex": 0,<br>        "no-delete-var": 2,<br>        "no-dupe-args": 2,<br>        "no-dupe-class-members": 2,<br>        "no-dupe-keys": 2,<br>        "no-duplicate-case": 2,<br>        "no-empty-character-class": 2,<br>        "no-empty-pattern": 2,<br>        "no-eval": 2,<br>        "no-ex-assign": 2,<br>        "no-extend-native": 2,<br>        "no-extra-bind": 2,<br>        "no-extra-boolean-cast": 2,<br>        "no-extra-parens": [2, "functions"],<br>        "no-fallthrough": 2,<br>        "no-floating-decimal": 2,<br>        "no-func-assign": 2,<br>        "no-implied-eval": 2,<br>        "no-inner-declarations": [2, "functions"],<br>        "no-invalid-regexp": 2,<br>        "no-irregular-whitespace": 2,<br>        "no-iterator": 2,<br>        "no-label-var": 2,<br>        "no-labels": [2, {<br>          "allowLoop": false,<br>          "allowSwitch": false<br>        }],<br>        "no-lone-blocks": 2,<br>        "no-mixed-spaces-and-tabs": 2,<br>        "no-multi-spaces": 2,<br>        "no-multi-str": 2,<br>        "no-multiple-empty-lines": [2, {<br>          "max": 1<br>        }],<br>        "no-native-reassign": 2,<br>        "no-negated-in-lhs": 2,<br>        "no-new-object": 2,<br>        "no-new-require": 2,<br>        "no-new-symbol": 2,<br>        "no-new-wrappers": 2,<br>        "no-obj-calls": 2,<br>        "no-octal": 2,<br>        "no-octal-escape": 2,<br>        "no-path-concat": 2,<br>        "no-proto": 2,<br>        "no-redeclare": 2,<br>        "no-regex-spaces": 2,<br>        "no-return-assign": [2, "except-parens"],<br>        "no-self-assign": 2,<br>        "no-self-compare": 2,<br>        "no-sequences": 2,<br>        "no-shadow-restricted-names": 2,<br>        "no-spaced-func": 2,<br>        "no-sparse-arrays": 2,<br>        "no-this-before-super": 2,<br>        "no-throw-literal": 2,<br>        "no-trailing-spaces": 2,<br>        "no-undef": 2,<br>        "no-undef-init": 2,<br>        "no-unexpected-multiline": 2,<br>        "no-unmodified-loop-condition": 2,<br>        "no-unneeded-ternary": [2, {<br>          "defaultAssignment": false<br>        }],<br>        "no-unreachable": 2,<br>        "no-unsafe-finally": 2,<br>        "no-unused-vars": [2, {<br>          "vars": "all",<br>          "args": "none"<br>        }],<br>        "no-useless-call": 2,<br>        "no-useless-computed-key": 2,<br>        "no-useless-constructor": 2,<br>        "no-useless-escape": 0,<br>        "no-whitespace-before-property": 2,<br>        "no-with": 2,<br>        "one-var": [2, {<br>          "initialized": "never"<br>        }],<br>        "operator-linebreak": [2, "after", {<br>          "overrides": {<br>            "?": "before",<br>            ":": "before"<br>          }<br>        }],<br>        "padded-blocks": [2, "never"],<br>        "quotes": [2, "single", {<br>          "avoidEscape": true,<br>          "allowTemplateLiterals": true<br>        }],<br>        "semi": [2, "never"],<br>        "semi-spacing": [2, {<br>          "before": false,<br>          "after": true<br>        }],<br>        "space-before-blocks": [2, "always"],<br>        "space-before-function-paren": [2, "never"],<br>        "space-in-parens": [2, "never"],<br>        "space-infix-ops": 2,<br>        "space-unary-ops": [2, {<br>          "words": true,<br>          "nonwords": false<br>        }],<br>        "spaced-comment": [2, "always", {<br>          "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","]<br>        }],<br>        "template-curly-spacing": [2, "never"],<br>        "use-isnan": 2,<br>        "valid-typeof": 2,<br>        "wrap-iife": [2, "any"],<br>        "yield-star-spacing": [2, "both"],<br>        "yoda": [2, "never"],<br>        "prefer-const": 2,<br>        "object-curly-spacing": [2, "always", {<br>          "objectsInObjects": false<br>        }],<br>        "array-bracket-spacing": [2, "never"]<br>      }<br>}<br></span>
step2 命令列插件的安裝與設定


1 . 在專案根目錄下的
<span style="font-size: 14px;">#package.json</span>檔案中的加入以下程式碼:

  1. #scripts

    ##下:<pre class="brush:php;toolbar:false">&lt;span style=&quot;font-size: 14px;&quot;&gt;&quot;lint&quot;: &quot;eslint --fix --ext .js,.vue src&quot;&lt;br&gt;&lt;/span&gt;</pre> <span style="font-size: 14px;"></span>與

  2. devDependencies

    下:

  3. <span style="font-size: 14px;">"eslint": "^3.19.0",<br>"eslint-plugin-vue": "^2.1.0",<br></span>

#在專案根目錄終端下執行

cnpm i

done.

#########相關推薦:############如何使用 vue-cli 發展多頁應用方法############怎麼使用vue-cli來建構vue專案和webpack? ############總結關於Vue-cli的相關實例######

以上是實例詳解vue-cli vscode 設定 eslint的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn