vue eslint开发严格模式警告错误解决方法

本文介绍了在Vue项目中遇到ESLint严格模式下的警告错误,如代码缩进不符合规范导致的问题,并提供了两种解决方案:一是理解并遵循ESLint规则进行代码调整,二是关闭ESLint。针对关闭ESLint的方法,分别给出了在普通webpack项目和Vue项目中的配置修改步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果我们初次使用vue-cli来构建单页SPA应用,在撸代码的过程中有可能会遇到这种因为代码缩进导致

页面报错的问题,导致我们烦不胜烦。接下来我们就来看一看如何解决这个小问题。。。

原因分析

通过查看package.json文件我们可以发现,在文件中默认安装了eslint-loader模块,eslint-loader模块是目前相对比较流行的代码检测工具,可以检测书写的代码是否符合统一规范,可以在一些比较大型的项目开发中统一开发人员的代码风格,这也就是为什么代码缩进有可能导致页面报错的原因(代码缩进不符合规范)。

20161203154240327.png

解决办法

方法一:了解eslint-loader规则,严格按照规范书写代码

首先缩进不能用tab要用空格这个比较恶心,因为习惯了tab缩进的习惯用空格去缩进就比较别扭了,

意外的制表符(Unexpected tab character),

在“{”之前找到的多个空格(Multiple spaces found before '{'),

混合空格和制表符(Mixed spaces and tabs),

预期缩进6个空格,但找到6个制表符(Expected indentation of 6 spaces but found 6 tabs),“

返回”后的预期空间(Expected space(s) after "return")
这些问题的原因在于不能使用tab去空格要用空格去空格,这个比较绕嘴,但是开启严格模式就出现恶心的警告对于强迫症的我是不能允许的,但是去掉严格模式又有点不符合规范,符合规范吧,开发效率的就低,难受香菇!

方法二:关闭eslint

团队开发中经常遇到需要使用eslint 语法纠正的情况; 

错误提示: expected indentation of 2 spaces but found 1 tab 

但是 tab 和 space 提示真的很头疼,可以通过下面方式解决 

找到vue 项目中的 .eslintrc.js , 在rules 中 添加如下,然后重启npm run dev,来加载我们改过的配置

'no-tabs': 0,    
'no-mixed-spaces-and-tabs': 0,   
'indent': ["off", "tab"],    
'no-trailing-spaces': 0, 


// 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-tabs': 0,   
    'no-mixed-spaces-and-tabs': 0,    
    'indent': ["off", "tab"],    
    'no-unused-vars': 0,    
    'no-trailing-spaces': 0,    
    "eqeqeq": 0  
}

如果实在普通的webpack项目中我们只需要打开webpack.config.js文件,然后去除ESlint在文件中的配置代码就可以了;

 test: /\.(js|vue)$/,  
 loader: 'eslint-loader',  
 enforce: 'pre',  
 include: [resolve('src'), resolve('test')],  
 options: {    
     formatter: require('eslint-friendly-formatter'),    
     emitWarning: !config.dev.showEslintErrorsInOverlay  
 }

如果是在vue项目中,我们需要打开项目根目录下的build文件夹并且打开该文件夹下的webpack.base.conf.js文件,然后去除ESlint在文件中的配置代码就可以了。

...(config.dev.useEslint ? [createLintingRule()] : []),


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值