sublime text3 jshint error"' undefined'不兼容的值并且' undefined' linting选项。"当使用IIFE表达时

时间:2017-08-07 06:29:37

标签: sublimetext3 eslint jshint iife sublimelinter

操作系统:macOS Sierra 10.12.5

Sublime Text:构建 3126

jshint v2.9.5

eslint v4.4.0

我已经安装了以下用于lint js文件的包

  1. sublimeLinter-contrib-eslint

  2. sublimeLinter-jshint

  3. 在我的每个.js文件中,IIFE (function(){已写在文件的顶部但是linter在gutter中给出了以下错误

      

    " undefined"的值不兼容和" undefined" linting选项。

    我的项目根目录中有.jshintrc.eslintrc文件但是我有点困惑 1.哪个linter抛出这个错误?和 2.如何解决/修复它?

    - jshintrc _

    {
        "node": true,
        "esversion": 6,
        "globals" : {
            "moment": true,
            "saveAs": true
        }
    }
    

    .eslintrc

    {
        "env": {
            "browser": true,
            "node": true,
            "es6": true
        },
        "extends": "eslint:recommended",
        "globals": {
          "angular": true,
          "module": true,
          "inject": true,
          "moment": true,
          "saveAs": true,
          "AWS": true,
          "require": false
        },
        "rules": {
            "indent": [0,"tab"],
            "linebreak-style": [0, "unix"],
            "semi": [2, "always"]
        }
    }
    

    JS档案

    (function() {
      'use strict';
      angular.module().controller(function () { //....code.... });
    })();
    

    我按照eslint documentation

    尝试了规则
    "rules": {
            "wrap-iife": [2, "outside"]
     }
    

    尝试了所有可能的值,但没有成功。

1 个答案:

答案 0 :(得分:1)

使用调试模式为sublimeLinter找到解决方案。

混合了2个 .jshintrc 文件。一个是默认值(可以通过(上下文菜单> JSHint>设置Linting首选项)查看,另一个是自定义 .jshintrc ,它位于我的项目根目录中,还有2个属性{{我认为1}}和esnext写的是无效的。来自refrence

首先清除默认 .jshintrc / Users // Library / Application Support / Sublime Text 3 / Packages / JSHint Gutter / .jshintrc )中的所有注释并删除来自自定义 .jshintrc 文件的esversion属性,现在一切正常。