3

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

  • OSX 10.8.4
  • 崇高文本 2 版本 2.0.2 构建 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

4

2 回答 2

0

目前有一个解决方法:

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

global.window = {};

到文件顶部

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

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

于 2013-08-01T08:57:11.120 回答
0

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

"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
  }
}

了解有关预定义 JSHint 全局变量的更多信息

于 2015-06-19T21:02:38.363 回答