【问题标题】:Sublime Linter/ ReferenceError: window is not defined?Sublime Linter/ReferenceError:未定义窗口?
【发布时间】:2013-07-31 04:06:22
【问题描述】:

我知道这是一个非常基本的问题,但很奇怪我无法让它工作,花了几个小时后,我真的需要帮助。

  • OSX 10.8.4
  • sublime Text 2 版本 2.0.2 Build 2221
  • 节点 v0.10.15
  • jshint v2.1.7

实际上,我只是为了这个而全新安装了 sublime Text 2;刚刚安装了 Sublime Package Control。

首先,我准备了一个foo.js代码:

function x(a, b)
{
    return a + b

res = x(10, 20)
console.log("res = " + res);

哪个结果:

$ jshint foo.js                                       
foo.js: line 3, col 17, Missing semicolon.
foo.js: line 6, col 16, Missing semicolon.
foo.js: line 2, col 1, Unmatched '{'.

3 errors

所以,到目前为止,jshint 在简单测试中按预期工作。

我尝试了很多方法来让它与 Sublime Linter 一起使用,但没有成功,我全新安装了 sublime 应用程序,然后观看了教程视频:

https://tutsplus.com/lesson/sublime-linter/

看起来很简单,Sublime Linter 似乎已成功安装,并且自述文件在 00:30 出现在视频节目中,但就我而言,在那之后,保存或其他任何事情都不会触发任何事情。

好吧,我完全迷路了。请指教。谢谢。

更新:

我注意到 sublimeText 控制台显示错误!

Traceback (most recent call last):
  File "./SublimeLinter.py", line 431, in _update_view
  File "./SublimeLinter.py", line 143, in run_once
  File "./sublimelinter/modules/base_linter.py", line 291, in run
  File "./sublimelinter/modules/javascript.py", line 72, in parse_errors
ValueError: Error from jshint: /Users/ken/Library/Application Support/Sublime Text 2/Packages/SublimeLinter/sublimelinter/modules/libs/jshint/jshint.js:7881
})(window)
   ^
ReferenceError: window is not defined
    at Object.require.util (/Users/ken/Library/Application Support/Sublime Text 2/Packages/SublimeLinter/sublimelinter/modules/libs/jshint/jshint.js:7881:4)

编辑: 好的,这似乎是错误,我应该先检查那里..

https://github.com/SublimeLinter/SublimeLinter/issues

【问题讨论】:

    标签: javascript sublimetext2 jshint sublimelinter


    【解决方案1】:

    目前有一个解决方法:

    对此的修补程序是 - 在 Linux 安装中 - 添加

    global.window = {};

    到文件顶部

    ~/.config/sublime-text-2/Packages/SublimeLinter/sublimelinter/modules/libs/jshint/jshint.js

    对于 Windows 或 OS/X 安装,您需要找到您的 Sublime Text 包配置的位置。

    【讨论】:

    • 是的,我是这么认为的——你自己的链接终于把我带到了那个解决方案,但我也想在这里为其他 stackoverflow 用户提供它。
    【解决方案2】:

    对于仍然出现此错误的用户,请编辑 JSHint configuration file 并添加以下选项:

    "jshint_options": {
      "undef": true,
      "unused": true,
      "browser": true, /* Defines DOM globals such as window, navigator, FileReader, etc. */
      "jquery": true, /* OPTIONAL: globals exposed by jQuery */
      "devel": true,  /* OPTIONAL: globals such as debugging, alert  */
      "globals": {    /* OPTIONAL: set others that aren't predefined by JSHint */ 
        "Modernizr": true
      }
    }
    

    了解更多关于pre-defined JSHint global variables

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 2020-10-08
      • 2018-05-27
      • 2020-09-18
      • 2020-11-12
      • 2018-10-29
      • 1970-01-01
      • 1970-01-01
      • 2022-09-18
      相关资源
      最近更新 更多