【问题标题】:Using browsers navigator results in JShint error使用浏览器导航器会导致 JSHint 错误
【发布时间】:2015-01-29 10:02:27
【问题描述】:

我正在使用浏览器在 Ember-CLI 项目中公开的全局可用 navigator 对象(又名,使用 ES6 语法),我希望在引用这个有效的全局对象时避免出错。

我看到了这个建议:Ember CLI - Error when using moment.js in route 并尝试将 ['navigator'] 添加到 .jshintrc 文件中的 predef 定义中。好像没有什么影响。然后,我还将以下内容放入 JS 文件本身:

/* global navigator: false */

这行得通,但我仍然觉得 .jshintrc 替代品会很好。有没有办法做到这一点?为什么我的尝试没有像 momentjs 示例那样得到想要的结果?


顺便说一句,这是 Ember-CLI 放入的默认设置:

"predef": [
    "document",
    "window",
    "-Promise"
]

【问题讨论】:

    标签: javascript ember.js jshint


    【解决方案1】:

    确切地说,现有答案并没有错,但它确实有错误的格式,并且没有明确说明有一个单独的 .jshintrc 文件用于测试。就我而言,这是需要更新的。

    tests/.jshintrc(不同于主.jshintrc)中,将"navigator" 添加到"predef" 数组中,如下所示:

    {
      "predef": [
        "document",
        "window",
        "navigator",
        "location",
        ...
      ]
    }
    

    【讨论】:

      【解决方案2】:

      .jshintrc 文件中,你应该这样做:

      {
        "predef": {
          "navigator": true
        }
      }
      

      希望这会有所帮助! :)

      【讨论】:

      • 有道理,它会像你建议的那样是一个字典结构,但 Ember-CLI 有默认值,我会犹豫在它将predef 视为数组的地方玩。是否支持一种以上的语法?
      • 好的,它必须在不久前更改,你说得对,它现在是一个数组 :) 但我使用 ember new app 创建了一个新应用程序并尝试将 abc 添加到此数组,然后我进行了测试,它成功了!没有将abc 添加到predef 我有一个jshint 错误。所以也许你在错误的.jshintrc 文件中更改它?源代码和测试有两个独立的
      猜你喜欢
      • 2014-09-21
      • 2012-11-27
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      • 2018-06-15
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多