SublimeLinter-jshint:标记中的脚本时出错

时间:2017-06-04 22:33:56

标签: javascript sublimetext3 jslint jshint sublimelinter

我似乎遇到了SublimeLinter-jshint的问题,我在JSLint文档中找不到我要找的东西。起初,我认为这是一个问题,特别是“缺少分号”(在一个开口大括号之后)但是当我试图忽略这个问题并继续编码时,越来越多的其他错误不断出现起来。

我目前正在编写一个JS教程并将所有脚本内联。我注意到当我将所有JavaScript移动到HTML文件头部的脚本中时,所有警告都消失了(我通过故意破坏一些代码来测试它,看它是否仍在工作,一切都很好)。

我做错了什么?

<!DOCTYPE HTML>
<html lang="en">
<head> 
    <title>Object Oriented JS</title>
    <script type="text/javascript">
        /*jslint evil: true */

        function Person(name, street){
            this.name = name;
            this.street = street;
            this.info = function(){
                return "My name is " + this.name + " and I live on " + this.street;
            };
        }

    </script>
</head>
<body>
<script type="text/javascript"> 

function Mammal(name){
    this.name = name;
    this.getInfo = function(){
        return "The mammals name is " + this.name;
    };
}

Mammal.prototype.sound = "Grrr";

Mammal.prototype.makeSound = function() {
    return this.name + " says " + this.sound;
};

var grover = new Mammal("Grover");

document.write(grover.makeSound() + "<br />");

for(var prop in grover){
    document.write(prop + " : " + grover[prop] + "<br />");
}


</script>   
</body>
</html>

只是添加,浏览器中的所有内容都加载得非常好,所以我很确定这些都是错误的警告。

1 个答案:

答案 0 :(得分:1)

我能够使用jshint的--extract参数来克服这个问题,.jshintrc文件中尚不支持该参数。我在SublimeLinter.sublime-settings上添加了以下几行,并为我修复了该行:

"linters": {
    "jshint": {"args": ["--extract=always"]}
}

参考: