【问题标题】:How to disable the warning 'define' is not defined using JSHint and RequireJS如何禁用警告“定义”未使用 JSHint 和 RequireJS 定义
【发布时间】:2013-04-22 01:33:01
【问题描述】:

我在我的项目中使用 RequireJS AMD。当我在我的项目上运行 jshint 时,它会抛出类似的错误

在 AMD 脚本中

 'define' is not defined.

在 Mocha 测试用例中

 'describe' is not defined.
 'it' is not defined.

如何在 jshint 中移除这个警告?

【问题讨论】:

    标签: javascript requirejs amd jshint


    【解决方案1】:

    只是为了扩展一点,这里是 Mocha 的 .jshintrc 设置:

    {
      ....
      "globals"   : {
        /* MOCHA */
        "describe"   : false,
        "it"         : false,
        "before"     : false,
        "beforeEach" : false,
        "after"      : false,
        "afterEach"  : false
      }
    }
    

    来自JSHint Docs - false(默认值)表示该变量是只读的。

    如果您只为特定文件定义全局变量,您可以这样做:

    /*global describe, it, before, beforeEach, after, afterEach */
    

    【讨论】:

    • 我们可以使用{"mocha": true} 2.5.1+ github.com/jshint/jshint/issues/1330
    • @bendytree 你知道我是否可以为一些非全局文件/文件夹添加这些规则吗?
    • @Gobliins Bohdan 上面的评论。将该行添加为 mocha 测试文件的第一行,它将仅对该文件强制执行规则
    【解决方案2】:
    jshint: {
      options: {
        mocha: true,
      }
    }
    

    是你想要的

    【讨论】:

      【解决方案3】:

      为避免在 jshint 中为 javascript 添加 cmets 的未定义警告,如:

      /*global describe:true*/
      

      Options

      【讨论】:

        【解决方案4】:

        在你的 .jshintrc 中添加这个

        "predef" : ["define"]   // Custom globals for requirejs
        

        【讨论】:

        • predef 已弃用,请使用全局变量
        • @JonathanAzulay 我在jshint.com/docs/options/#predef 没有找到任何弃用说明。我认为 Global 可用于自定义全局 JavaScript,例如 angular、$、jQuery 等,predef 可用于隐式全局对象,如窗口、文档、控制台等
        【解决方案5】:

        派对迟到了,但请在您的 jshintrc 中使用此选项:

        "dojo": true
        

        你将安息,没有红色警告......

        【讨论】:

          【解决方案6】:

          如果您正在使用节点 js。在文件开头添加这两行

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

          【讨论】:

          • 这个问题是关于JSHint的。
          【解决方案7】:

          Read the docs 并搜索 /*global

          【讨论】:

          • 来自JSHint GitHub example"unused" : true, // true: Require all defined variables be used
          • 这不是一回事。
          【解决方案8】:

          如果您像我一样尝试在 WebStorm 中使用 Mocha 运行 JSHint,请进入:

          WebStorm > 首选项 > 语言和框架 > JavaScript > 代码质量工具 > JSHint

          向下滚动到“环境”并确保您已选中复选框以启用“Mocha”,这将为您设置 JSHint for Mocha 的定义。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-11-14
            • 2014-09-12
            • 2013-04-09
            • 1970-01-01
            • 2012-09-18
            • 1970-01-01
            • 2014-03-16
            相关资源
            最近更新 更多