eslint开发严格模式警告错误

如果我们初次使用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()] : []),

vue踩坑之eslint 

使用vue的过程中发现,如果引用了组件,但是没有使用,系统总是提示:

component has been registered but not used vue/no-unused-components vue.js vue-component share

前期项目总是要把代码删除的一干二净,这样虽然对代码非常好,但是开发过程是个麻烦事,毕竟开发过程中,可能为了调试临时屏蔽一个两个组件,但总是提示这个,还要把所有和这个组件有关的代码全部屏蔽了,太痛苦了。

经过查找后发现原来是试用vue ui创建项目时,给我们加了一个eslint进行代码检查,真是好东西。

但是为了提高开发调试效率,临时屏蔽吧,屏蔽方法很简单,打开文件“package.json”,eslintConfig 字段下的 rules 添加规则,代码如下:

  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {
        "vue/no-unused-components": "off"
    }
  },

好了,重新启动一下  npm run serve

开发过程变的顺畅多了,终于可以临时屏蔽一下我们不想看见的组件了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持Devmax。 

解决vue eslint开发严格模式警告错误的问题的更多相关文章

  1. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  2. vue自定义加载指令v-loading占位图指令v-showimg

    这篇文章主要为大家介绍了vue自定义加载指令和v-loading占位图指令v-showimg的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  3. vue使用动画实现滚动表格效果

    这篇文章主要为大家详细介绍了vue使用动画实现滚动表格效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  4. 关于Vue 监控数组的问题

    这篇文章主要介绍了Vue 监控数组的示例,主要包括Vue 是如何追踪数据发生变化,Vue 如何更新数组以及为什么有些数组的数据变更不能被 Vue 监测到,对vue监控数组知识是面试比较常见的问题,感兴趣的朋友一起看看吧

  5. Vue子组件props从父组件接收数据并存入data

    这篇文章主要介绍了Vue子组件props从父组件接收数据并存入data的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  6. Vue h函数的使用详解

    本文主要介绍了Vue h函数的使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  7. VUE响应式原理的实现详解

    这篇文章主要为大家详细介绍了VUE响应式原理的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

  8. vue+Element ui实现照片墙效果

    这篇文章主要为大家详细介绍了vue+Element ui实现照片墙效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. vue+elemet实现表格手动合并行列

    这篇文章主要为大家详细介绍了vue+elemet实现表格手动合并行列,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. iview+vue实现导入EXCEL预览功能

    这篇文章主要为大家详细介绍了iview+vue实现导入EXCEL预览功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部