标签: jshint

任务失败时Gulp返回0

我在我的小项目中使用Gulp来运行测试和lint我的代码.当任何这些任务失败时,Gulp总是以返回码0退出.如果我手动运行jshint,它将以非零代码退出.

这是我非常简单的gulpfile.

我是否需要以某种方式明确告诉Gulp返回有意义的值?这是Gulp的错吗,还是gulp-jshint和gulp-jasmine插件应该受到责备?

javascript jshint gulp

34
推荐指数
3
解决办法
2万
查看次数

如何配置jshint不给我错误"以前断线"?

它给了我错误"之前坏线断线",因为我有如下代码

var one = 1
  , two = 2
  , three = 3
  ;
Run Code Online (Sandbox Code Playgroud)

如果我把它,放在行的末尾而不是下一行的开头,它就不会抱怨.但我想以这种方式编码.有没有办法让它不显示这个警告?

我查看了JSHint的选项,但没有任何与此错误相关的内容.

javascript jshint

33
推荐指数
2
解决办法
2万
查看次数

在Javascript中,将三元运算符的"?"放在下一行是否可以?

我真的喜欢调整?以及我的三元运算符,当它们不适合一条线时,如下所示:

var myVar = (condition
    ? ifTrue
    : ifFalse
);
Run Code Online (Sandbox Code Playgroud)

然而,JSHint抱怨:

在"?"之前坏线断线

JSHint为什么会有此警告?是否有任何讨厌(如分号插入等)它是在保护我,还是我可以安全地更改我的JSHINT配置以忽略它?

javascript jshint

32
推荐指数
4
解决办法
1万
查看次数

JSHint Gulp到错误窗口VS2015

如何在使用Gulp时将JSHint 的输出显示在Visual Studio 2015的错误列表中,而不是仅输出到Task Runner?

我已经尝试过这个软件包,但除了格式化Gulp输出略有不同之外,似乎没有做任何事情.

这是我的gulpfile.js:

gulp.task('default', function () {
    gulp.src(["Scripts/**/*.js"])
        .pipe(jshint(".jshintrc"))
        .pipe(jshint.reporter("jshint-visual-studio"));
});
Run Code Online (Sandbox Code Playgroud)

实际输出(在任务运行窗口中):

实际输出

首选输出(在错误列表中):

首选输出

请注意:我正在使用Visual Studio 2015,因此Web Essentials不再是JSHint的选项,因为功能已被删除.

jshint gulp visual-studio-2015

32
推荐指数
1
解决办法
4538
查看次数

禁用JSHint警告:期望分配或函数调用,而是查看表达式

我有以下几行:

imageUrl && (data.imageUrl = imageUrl);
Run Code Online (Sandbox Code Playgroud)

对于这一行,JSHint抱怨:

 Expected an assignment or function call and instead saw an expression.
Run Code Online (Sandbox Code Playgroud)

我理解警告,但我想禁用它.我找不到怎么做的方法.任何的想法?

javascript jshint

31
推荐指数
2
解决办法
7万
查看次数

JSHint认为Jasmine函数未定义

我有一个使用Karma + Jasmine和JSHint的Grunt设置.每当我在我的spec文件上运行JSHint时,我都会遇到一系列"未定义"的错误,其中大部分是Jasmine的内置函数.例如:

Running "jshint:test" (jshint) task

   js/main.spec.js
      3 |describe("loadMatrix()", function() {
         ^ 'describe' is not defined.
      4 |    it("should not assign a value if no arg is passed.", function() {
             ^ 'it' is not defined.
Run Code Online (Sandbox Code Playgroud)

(我也从我的规范要测试的JS文件中得到一些未定义的变量和函数错误,但我不确定为什么会这样,它可能是一个单独的问题.)

我的Karma配置文件包含frameworks: [ "jasmine" ]在其中,我没有为JSHint设置任何全局变量,.jshintrc因为我在Grunt中配置它,所以我没有文件.我确实尝试在我的Gruntfile中将Jasmine的函数添加为JSHint全局变量,但是将它们设置为true或者false没有区别 - 当JSHint运行时,错误仍然存​​在.

我错过了什么?我似乎无法做任何让JSHint在我的spec文件中跳过Jasmine函数的定义检查.

javascript jasmine jshint gruntjs karma-runner

29
推荐指数
3
解决办法
1万
查看次数

gulp-jshint:如何使构建失败?

如果JSHint中存在错误,我希望我的Gulp构建失败.

根据gulp-jshint文档,我可以使用"失败的记者".

但是以下不起作用:

gulp.task("lint", function() {
     return gulp.src(JS_SOURCES)
        .pipe(jshint())
        .pipe(jshint.reporter("jshint-stylish"))
        .pipe(jshint.reporter("fail"));
});
Run Code Online (Sandbox Code Playgroud)

即使JSHint中存在错误,上面的任务也始终以退出代码0返回.

我正在使用gulp 3.8.10和gulp-jshint 1.9.0.

gulp-jshint的github问题在这里这里有讨论......但根据这些讨论,我认为上面的代码应该与gulp和gulp-jshint的最新版本一起使用.但是它不......

有没有人想过如何使用gulp-jshint正确地使构建失败?

jshint gulp

29
推荐指数
2
解决办法
2万
查看次数

AngularJS控制器和"使用严格"

我最近开始使用JSHint,它要求我使用"use strict"的函数形式.从那以后,AngularJS抛出一个错误:

"错误:参数'webAddressController'不是函数,未定义"

当我删除"use strict"的函数形式时,控制器加载正常.

控制器:

(function () {
    "use strict";

    function webAddressController($scope, $rootScope, web_address_service) {
             // Do things
    }

}());
Run Code Online (Sandbox Code Playgroud)

有没有人对这里发生的事情有任何见解?

use-strict jshint angularjs

28
推荐指数
2
解决办法
6万
查看次数

grunt-contrib-jshint忽略没有效果

我想将libs目录排除在lint之外.然而,ignoresoptions种植.jshintignore项目目录文件并不能libs被排除在外.

 jshint: {
  options: {
    smarttabs: true,
    ignores: ['public/js/libs/**/*.js']
  },

  all: [
        'Gruntfile.js', 
        'public/js/**/*.js'
      ]

},
Run Code Online (Sandbox Code Playgroud)

咕噜版:

 grunt-cli v0.1.11
 grunt v0.4.2
 grunt-contrib-jshint@0.7.2
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

jshint gruntjs

28
推荐指数
1
解决办法
1万
查看次数

JSHint:覆盖整个文件夹的单个.jshintrc选项

我有一个.jshintrc在我的以下配置项目的根目录:

{
  "node": true,
  "smarttabs": true,
  "undef": true,
  "unused": true
}
Run Code Online (Sandbox Code Playgroud)

这适用于我在项目中与节点相关的所有内容,但不适用于与浏览器相关的脚本.哪些是坐在子文件夹中.
是否可以node在保留整个文件夹的其他选项的同时覆盖该选项?

如果我.jshintrc为浏览器端文件夹创建另一个文件,我必须再次告诉JSHint我的所有配置,尽管我实际上只是想取消设置该node选项.

我知道我可以在每个文件中设置此选项,但实际上我想避免这种情况.

提前谢谢了!

javascript browser node.js jshint

27
推荐指数
1
解决办法
2584
查看次数