ESlintの気の遠くなるような構文検出の設定をオフにする方法
2022-02-24 09:33:54
ちょうどパートナーが行未満のスペースエラーは、エラーのすべての種類を報告されていない開始?あなたは思想の自由を失っていると思いますか?拷問の後、私はeslintの構文検出の制限を削除するには良い記事を見つけた、segmentfaultから撮影した学習メモとして
私は実際にこれらの構文検出に反対しているわけではありませんが、vue-cli scaffoldによって作成されたデフォルトのeslintルールのように、本当に荒らさなければならない多くの反個人的な願いのようです。
-
コード末尾にセミコロンをつけない
;
-
コード内に複数の空白行を作らない
-
タブキーは使用できませんので、必ず空白2文字に置き換えてください。
-
宣言されているが使用されていない変数をコードに含めることはできません。
上記のルールは、個人的には本当に反人間的です コードのデバッグが大変すぎる。
eslintを閉じる
ここでは、vue-cli の scaffolding を閉じる方法だけですが、実はとても簡単です。
build/webpack.base.conf.js
設定ファイルで、eslintのルールをコメントアウトします。
module: {
rules: [
// {
// test: /\. (js|vue)$/,
// loader: 'eslint-loader',
// enforce: 'pre',
// include: [resolve('src'), resolve('test')],
// options: {
// formatter: require('eslint-friendly-formatter')
// }
// },
...
]
...
}
eslintの構文検出を維持したい場合は、あなたの規約に合わないルールを削除してください。
設定ファイルはプロジェクトのルートにあり、ファイル名は
.eslintrc.*
を名前として使用します。
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
// Set "script" (default) or "module" if your code is a module in ECMAScript.
sourceType: 'module'
},
env: {
browser: true,
},
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
extends: 'standard',
// required to lint *.vue files
plugins: [
'html'
],
// add your custom rules here
'rules': {
// allow paren-less arrow functions
'arrow-parens': 0,
// allow async-await
'generator-star-spacing': 0,
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
"no-unused-vars": [2, {
// Allow declaration of unused variables
"vars": "local",
// arguments are not checked
"args": "none"
}],
// Close statements with forced semicolon endings
"semi": [0],
// No more than 100 blank lines at most
"no-multiple-empty-lines": [0, {"max": 100}],
//Turn off disabling mixed tabs and spaces
"no-mixed-spaces-and-tabs": [0],
}
}
ここで
rules
の設定ルールです。
<スパン
コンフィギュレーションパラメーター
<スパン
<スパン
rules: {
"ruleName": [ruleValue, ruleConfig]
}
ルールの値です。
<スパン
<スパン
"off" or 0 //close rule off
"warn" or 1 // on open rule as a warning (does not affect exit code)
"error" or 2 // treat the rule as an error (1 when the exit code is triggered)
への具体的な言及
https://eslint.org/docs/rules/no-unused-vars
共通ルール一覧
以下のルールの一覧は、Webからの引用です。
"no-alert": 0,// disable the use of alert confirm prompt
"no-array-constructor": 2,// disable array constructors
"no-bitwise": 0,//Prohibit the use of bitwise operators
"no-caller": 1,//Disable arguments.caller or arguments.callee
"no-catch-shadow": 2,//Disable catch clause arguments with the same name as an external scope variable
"no-class-assign": 2,//Disable assigning values to classes
"no-cond-assign": 2,//Disallow the use of assignment statements in conditional expressions
"no-console": 2,//Disable the use of consoles
"no-const-assign": 2,//Disallow modification of const declared variables
"no-constant-condition": 2,//Disallow the use of constant expressions in conditions if(true) if(1)
"no-continue": 0,//prohibit the use of continue
"no-control-regex": 2,//Prohibit the use of control characters in regular expressions
"no-debugger": 2,//Debugger is forbidden
"no-delete-var": 2,//Delete operator cannot be used on var declared variables
"no-div-regex": 1,// Cannot use regular expressions that look like division /=foo/
"no-dupe-keys": 2,// Do not allow duplicate keys when creating object literals {a:1,a:1}
"no-dupe-args": 2,//Function arguments cannot be duplicated
"no-duplicate-case": 2,//Switch case tags cannot be duplicated
"no-else-return": 2,//If there is a return inside the if statement, it cannot be followed by an else statement
"no-empty": 2,// the content of the block statement can not be empty
"no-empty-character-class": 2,//the content of [] in the regular expression cannot be empty
"no-empty-label": 2,//Forbid the use of empty labels
"no-eq-null": 2,//Forbid the use of == or ! = operator
"no-eval": 1,//forbid the use of eval
"no-ex-assign": 2,//forbid to assign values to exception parameters in catch statements
"no-extend-native": 2,//Disable extending native objects
"no-extra-bind": 2,//Disable unnecessary function binding
"no-extra-boolean-cast": 2,//Disable unnecessary bool conversions
"no-extra-parens": 2,//Prohibit unnecessary parentheses
"no-extra-semi": 2,//Disable superfluous colons
"no-fallthrough": 1,//Disable switch pass-through
"no-floating-decimal": 2,//Disable omitting the 0 .5 in floating point numbers 3.
"no-func-assign": 2,//Disable duplicate function declarations
"no-implicit-coercion": 1,//Disallow implicit conversions
"no-implied-eval": 2,//Disable implicit eval
"no-inline-comments": 0,//Disable inline comments
"no-inline-declarations": [2, "functions"],//prohibit the use of declarations (variables or functions) in block statements
"no-invalid-regexp": 2,//Disable invalid regular expressions
"no-invalid-this": 2,//Disable invalid this, only for constructors, classes, object literals
"no-irregular-whitespace": 2,//no irregular spaces
"no-iterator": 2,//Prohibit the use of the __iterator__ attribute
"no-label-var": 2,//Label name cannot be the same as the variable name declared by var
"no-labels": 2,//Prohibit label declarations
"no-lone-blocks": 2,//Prohibit unnecessary nested blocks
"no-lonely-if": 2,//Prohibit only if statements within else statements
"no-loop-func": 1,//prohibit the use of functions in loops (if no external variables are referenced without forming closures)
"no-mixed-requires": [0, false],//declaration cannot be mixed with declaration types
"no-mixed-spaces-and-tabs": [2, false],//prohibit mixing tabs and spaces
"linebreak-style": [0, "windows"],//line feed style
"no-multi-spaces": 1,//no extra spaces
"no-multi-str": 2,//Strings can't use \ newlines
"no-multiple-empty-lines": [1, {"max": 2}],//no more than 2 blank lines
"no-native-reassign": 2,//can't override native objects
"no-negated-in-lhs": 2,//The left side of the in operator cannot have !
"no-nested-ternary": 0,//Nested trinomials are forbidden
"no-new": 1,//Prohibit the use of new to construct an instance without assigning a value
"no-new-func": 1,//Disable the use of new Function
"no-new-object": 2,//Disable the use of new Object()
"no-new-require": 2,//prohibit the use of new require
"no-new-wrappers": 2,//prohibit the use of new to create wrapper instances, new String new Boolean new Number
"no-obj-calls": 2,// Cannot call built-in global objects, such as Math() JSON()
"no-octal": 2,//Forbid the use of octal numbers
"no-octal-escape": 2,//Disable the use of octal escape sequences
"no-param-reassign": 2,//Disable reassigning parameters
"no-path-concat": 0,//Node cannot use __dirname or __filename for path concatenation
"no-plusplus": 0,//Forbid the use of ++, --
"no-process-env": 0,//prohibit the use of process.env
"no-process-exit": 0,//prohibit the use of process.exit()
"no-proto": 2,//Prohibit the use of __proto__ attribute
"no-redeclare": 2,//Prohibit repeated declaration of variables
"no-regex-spaces": 2,//Disallow the use of multiple spaces in regular expression literals /foo b
関連
-
vue.cli3はクロスドメイン問題を解決する XMLHttpRequestへのアクセスは「http://192.168.88.228/login/Login?phone=19939306484&pass」で。
-
VUE で未定義のエラーのプロパティ 'length' を読み取ることができません。
-
vue project Error: モジュール 'xxx' が見つからない クラスエラー解決策
-
vue リソースの読み込みに失敗しました:サーバーは404(Not Foun)のステータスで応答しました。
-
vueでechartsを使用する際の問題点。Error Initialize failed invalid dom
-
vue プロジェクトのエラーメッセージ Uncaught ReferenceError: Vueは定義されていません。
-
VueはQRCodeプラグインを使用してQRコードを生成していますが、マウントされたフックでのエラー: "TypeError: nullのプロパティ'appendChild'を読み取れない"
-
npm install エラー "Unexpected end of JSON input while parsing near" は解決されました。
-
Vueプロジェクトを開くためのVSCode、解决无法对@/assets/aaa.vue指向的文件使用跳转、ほぼすべてのwebpackプロジェクトに対応しています。
-
vue reports Error in mounted hook: "SyntaxError: JSON の位置 0 に予期しないトークン u があります".
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
VueのVue.set()でCannot convert undefined or null to objectというエラーが報告される。
-
TypeError: 未定義のプロパティ 'xxxx' を読み取ることができません。
-
マウントされたフックでのエラー: "TypeError: TypeError: Cannot read property 'XXXXX' of undefined" マウントされたフックにエラーが発生しました。
-
ウィンドウやドキュメントがNuxtで定義されていない問題のまとめ
-
error: 'lianxi/' does not have a commit checked out fatal: Add files failed Solution
-
無効なHostヘッダー サーバードメインのアクセス問題
-
VUE ストリングスプライシング 各種スプライシング
-
vue实现PC端分辨率适配
-
this.setの正しい使い方
-
vue ssrがエラーを報告する ReferenceError: window is not defined