使用浏览器导航器导致 JShint 错误

Using browsers navigator results in JShint error

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

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

/* global navigator: false */

这很有效,但我仍然觉得 .jshintrc 替代方案会很好。有没有办法做到这一点?为什么我的尝试没有像 momentjs 示例那样得到预期的结果?


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

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

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

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

希望对您有所帮助! :)

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

tests/.jshintrc中(不同于主要的.jshintrc)将"navigator"添加到"predef"数组中,像这样:

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