想要在代码中局部禁用这条规则,有多种方法:
/**
* get getByteLen
* @param {Sting} val input value
* @returns {number} output value
*/
export function getByteLen(val) {
/* eslint-disable no-control-regex */ // 在本函数中禁用no-control-regex规则
let len = 0
for (let i = 0; i < val.length; i++) {
if (val[i].match(/[^\x00-\xff]/ig) != null) {
len += 1
} else { len += 0.5 }
}
return Math.floor(len)
}
/**
* get getByteLen
* @param {Sting} val input value
* @returns {number} output value
*/
export function getByteLen(val) {
let len = 0
for (let i = 0; i < val.length; i++) {
if (val[i].match(/[^\x00-\xff]/ig) != null) { // eslint-disable-line // 直接在本行中禁用eslint
len += 1
} else { len += 0.5 }
}
return Math.floor(len)
}
/**
* get getByteLen
* @param {Sting} val input value
* @returns {number} output value
*/
export function getByteLen(val) {
let len = 0
for (let i = 0; i < val.length; i++) {
// eslint-disable-next-line // 在下一行禁用eslint,类似上一种方法,只是写的位置不同罢了
if (val[i].match(/[^\x00-\xff]/ig) != null) {
len += 1
} else { len += 0.5 }
}
return Math.floor(len)
}
总的来说 就是eslint 有bug 不适用所有正常情况
我们理解是正常的 ,但比较语法并不通用
其实很多人会采用简单直接又粗暴的方法 我是不认同的 eslint开发代价这么高
再者说 作为程序猿 代码习惯很重要 工作很有必要的
再说 vscode 我觉得 有eslint 和prettier 够用了
来一波配置吧
{
// 关闭更新
"extensions.autoUpdate": false,
"update.channel": "none",
// 重新设定tabsize
"editor.tabSize": 2,
"editor.fontSize": 16,
//保存自动格式化
"editor.formatOnSave": true,
"editor.renderWhitespace": "all",
//使用单引号
"prettier.singleQuote": true,
//结尾不加分号
"prettier.semi": false,
//开启 eslint 支持
"prettier.eslintIntegration": false,
//保存时eslint自动修复错误
"eslint.autoFixOnSave": true,
//格式LF
"files.eol": "\n",
"update.enableWindowsBackgroundUpdates": false,
"editor.renderIndentGuides": false,
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"workbench.iconTheme": "file-icons-colourless",
"vetur.format.defaultFormatter.js": "vscode-typescript",
//配置 ESLint 检查的文件类型
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "html",
"autoFix": true
},
{
"language": "vue",
"autoFix": true
}
],
"git.enableSmartCommit": true,
"workbench.startupEditor": "newUntitledFile"
}