操作系统:macOS Sierra 10.12.5 。
Sublime Text:构建 3126 。
jshint v2.9.5 。
eslint v4.4.0 。
我已经安装了以下用于lint js文件的包
sublimeLinter-contrib-eslint
sublimeLinter-jshint
在我的每个.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.... });
})();
尝试了规则
"rules": {
"wrap-iife": [2, "outside"]
}
尝试了所有可能的值,但没有成功。
答案 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
属性,现在一切正常。