你如何一起使用JSHint和Browserify?

gar*_*uan 14 javascript jshint browserify

我正在尝试使用Angular和Browserify构建项目.我的controllers.js文件看起来像这样......

'use strict';

module.exports.testController = function($scope){
    $scope.message = 'Controller 1';
    console.log( 'hello' );
};
Run Code Online (Sandbox Code Playgroud)

正如您所料,这会产生三个掉毛错误.

  • 使用Strict的函数形式
  • "模块"未定义
  • "控制台"未定义

我确实在这里找到了一些解决方案,它使JSHint能够处理Node.js文件,方法是将文件jslint node: true顶部放在这样的顶部

   /*jslint node: true */
   'use strict';

    module.exports.testController = function($scope){
        $scope.message = 'Controller 1';
        console.log( 'hello' );
    };
Run Code Online (Sandbox Code Playgroud)

但是,这显然修复了太多; 'console.log(...)'仍然应该是未定义的.

有谁知道如何在Browserify中使用JSHint?

Ala*_*lum 30

从版本2.5.3开始, JSHint支持该browserify标志.

像所有标志一样,您可以直接在源文件中使用它:

/*jshint browserify: true */
// browserify code here
Run Code Online (Sandbox Code Playgroud)

或者将其添加到.jshintrc文件中:

{
   "browserify": true
}
Run Code Online (Sandbox Code Playgroud)