JSLint,全局禁用规则

Posted

技术标签:

【中文标题】JSLint,全局禁用规则【英文标题】:JSLint, disable rules globally 【发布时间】:2012-06-14 20:56:15 【问题描述】:

如果我通过 NPM 全局安装 JSLint,有没有办法在我的应用程序的当前范围内或在我的系统上全局禁用某些规则?

主要问题是悬空下划线问题。我的意思是,当我使用 __dirname 时,这个出现的主要位置是在 node.js 中,但我相信它也会出现在 underscorejs 中。我已经用 jslint 指令忽略了它,但我认为在我使用下划线的每个文件上都需要这样做有点烦人。

为此,我是否需要放置“使用严格”;在每个文件的顶部?

【问题讨论】:

你能告诉我们你是如何运行 JSLint 的吗? @jsalonen 现在只是jslint app.js,但我想最终在一组文件上执行此操作,可能作为构建的一部分(不确定这是否有意义)。跨度> @LarryBattle 我的意思是来自终端。 【参考方案1】:

考虑使用构建工具进行 lint 配置和自动化。当您的项目增长时,无论如何您都需要一个。

对于 node.js 项目,我建议使用 grunt。将 grunt 安装到您的项目中:

npm install grunt

Grunt 有一个内置的 lint 任务 (https://github.com/cowboy/grunt/blob/master/docs/task_lint.md)。

现在创建一个grunt.js 文件并在那里配置 linting:

module.exports = function(grunt) 
  grunt.initConfig(
    lint: 
      all: [
        'app.js',
        'modules/*.js'
      ]
    ,
    jshint: 
      options: 
        nomen: false
      
    
  );

  grunt.registerTask('default', 'lint');
;

请注意如何轻松添加多个文件和文件模式并将选项全局应用于所有这些。

现在你可以通过调用来运行 grunt:

grunt

请注意,如果您使用jshint,则默认情况下nomen 处于关闭状态(http://www.jshint.com/options/)。

【讨论】:

以上是关于JSLint,全局禁用规则的主要内容,如果未能解决你的问题,请参考以下文章

JSLint:设置控制台时出现只读错误,即使它设置为可写全局

在 Sublime Text 2 中禁用或覆盖 JSLint 选项

在 TeamCity 中全局禁用 FxCop 错误

npm 全局路径前缀

禁用 StyleCop 规则

JSLint 严格违规。面向对象的 Javascript 挫折