亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue+webpack中配置ESLint

發布時間:2020-09-05 06:51:04 來源:腳本之家 閱讀:167 作者:暑假作業 欄目:web開發

一、ESLint

協同開發過程中,經常感受到來自代碼檢視的惡意。代碼習慣不一致,看半天;居然提交低級錯誤,我的天(╯‵□′)╯︵┻━┻!...研究了一番,決定使用ESLint來做代碼規范檢查。

二、配置方式

  • JavaScript注釋:通過JavaScript注釋把配置信息嵌入代碼中。
  • package.json:在package.json文件中的eslintConfig字段中指定配置。
  • 配置文件:通過.eslintrc.(js/json/yaml/yml)的獨立文件來為整個目錄或者子目錄指定配置信息,ESlint會查找并且自動讀取配置文件。

三、配置過程(配置文件)

安裝相關npm包

yarn add eslint babel-eslint eslint-plugin-vue eslint-friendly-formatter --dev

增加文件

  • .eslintignore 用來配置不需要檢查的文件(類似git的.gitignore)。
  • .eslintrc.js 用來配置ESlint驗證規則的配置文件。

修改webpack配置文件

module.exports = {
 module: {
  rules: [
   test: /\.(js|vue)$/,
   loader: "eslint-loader",
   enforce: "pre",
   //指定檢查的目錄
   include: [resolve(__dirname, 'src')],
   //eslint檢查報告的格式規范
   options: {
    formatter: require("eslint-friendly-formatter")
   }
  ]
 }
}

四、配置文件詳解

以.eslintrc.js為例

module.exports = {
 //一旦配置了root,ESlint停止在父級目錄中查找配置文件
 root: true,
 //解析器
 parser: "babel-eslint",
 //想要支持的JS語言選項
 parserOptions: {
  //啟用ES6語法支持(如果支持es6的全局變量{env: {es6: true}},則默認啟用ES6語法支持)
  //此處也可以使用年份命名的版本號:2015
  ecmaVersion: 6,
  //默認為script
  sourceType: "module",
  //支持其他的語言特性
  ecmaFeatures: {
   //...
  }
 },
 //代碼運行的環境,每個環境都會有一套預定義的全局對象,不同環境可以組合使用
 env: {
  es6: true,
  browser: true,
  jquery: true
 },
 //訪問當前源文件中未定義的變量時,no-undef會報警告。
 //如果這些全局變量是合規的,可以在globals中配置,避免這些全局變量發出警告
 globals: {
  //配置給全局變量的布爾值,是用來控制該全局變量是否允許被重寫
  test_param: true
 },
 //支持第三方插件的規則,插件以eslint-plugin-作為前綴,配置時該前綴可省略
 //檢查vue文件需要eslint-plugin-vue插件
 plugins: ["vue"],
 //集成推薦的規則
 extends: ["eslint:recommended", "plugin:vue/essential"],
 //啟用額外的規則或者覆蓋默認的規則
 //規則級別分別:為"off"(0)關閉、"warn"(1)警告、"error"(2)錯誤--error觸發時,程序退出
 rules: {
  //關閉“禁用console”規則
  "no-console": "off",
  //縮進不規范警告,要求縮進為2個空格,默認值為4個空格
  "indent": ["warn", 2, {
   //設置為1時強制switch語句中case的縮進為2個空格
   "SwitchCase": 1,
   //分別配置var、let和const的縮進
   "VariableDeclarator": { "var": 2, "let": 2, "const": 3 }
  }],
  //定義字符串不規范錯誤,要求字符串使用雙引號
  quotes: ["error", "double"],
  //....
  //更多規則可查看http://eslint.cn/docs/rules/
 }
}

使用JavaScript注釋啟用或禁止指定規則

/* eslint-disable */
alert('message');
/* eslint-enable no-alert, no-console*/
...

層疊配置

ESlint支持層疊配置,檢測文件的規則是其目錄層級結構中所有.eslintrc文件的組合,當規則沖突的時候,離檢測文件最近的規則優先。

默認情況下,ESlint會沿著父級目錄網上尋找配置文件,直到根目錄。如果配置文件中有root: true,則ESlint會停止在父級目錄中查找。

五、配置過程中出現的問題

出現錯誤:Use the latest vue-eslint-parser。

解決方法: 把parser: "babel-eslint"移動到parserOptions中。

{
 //parser: "babel-eslint",
 parserOptions: {
  parser: "babel-eslint",
  //...
 }
}

問題原因: eslint-plugin-vue中的很多規則都需要vue-eslint-parser檢查<template>, vue-eslint-parser和babel-parser二者有沖突。

參考鏈接

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

迁安市| 常宁市| 永吉县| 马山县| 黔西县| 金溪县| 喀什市| 仁寿县| 原阳县| 高平市| 喜德县| 沂水县| 东乡| 平阳县| 海淀区| 南漳县| 灵台县| 抚松县| 固始县| 祁东县| 吉木乃县| 于都县| 临湘市| 新龙县| 莎车县| 综艺| 苗栗县| 紫云| 广南县| 县级市| 云南省| 天柱县| 武陟县| 孙吴县| 论坛| 周至县| 简阳市| 南乐县| 彭水| 东兰县| 五大连池市|