JSHint 全局选项在 .jshintrc 中不起作用
JSHint globals option is not working in .jshintrc
我正在使用 Brackets 1.2 and the extension brackets-jshint。这是我的项目根目录中的 .jshintrc
:
{
'bitwise': true,
'boss': true,
'camelcase': true,
'curly': true,
'devel': true,
'eqeqeq': true,
'eqnull': true,
'expr': true,
'forin': true,
'iterator': false,
'latedef': true,
'multistr': false,
'nocomma': true,
'noarg': true,
'noempty': true,
'nonbsp': true,
'nonew': true,
'quotmark': 'single',
'undef': true,
'unused': true,
'globals': {
'$': true,
'document': true,
'jQuery': true,
'window': true
}
}
globals
选项无效,全局变量白名单仍在被JSHint警告
我也试过这些:
globals: true
jquery: true
devel: true
但是没有成功,$
、jquery
、window
、document
和alert
仍然被警告。
请确保您已禁用 JSLint,这是默认情况下随 Brackets 一起提供的 linter。
您可以通过将此代码段添加到您的 brackets.json(通过 Debug > Show Preferences File
打开)来实现:
"language": {
"javascript": {
"linting.prefer": "JSHint",
"linting.usePreferredOnly": true
}
}
您必须在 .jshintrc
中用 double 替换 single 引号 :) 这个答案很短,所以我将添加一些解释......
只需打开 Debug » Developers tools 尝试验证一些 JavaScript 文件 – 你可以在调试控制台中看到
JSHint: error parsing /project/path/.jshintrc. Details: SyntaxError: Unexpected token '
负责读取 .jshintrc 的方法如下所示:
try {
config = JSON.parse(removeComments(content));
} catch (e) {
console.error("JSHint: error parsing " + file.fullPath + ". Details: " + e);
result.reject(e);
return;
}
JSON.parse 实现了 http://www.ietf.org/rfc/rfc4627.txt - according to ECMAScript Specification 而 '
没有位置。
来自 rfc 4627 描述 JSON 的唯一有效结构是
string = quotation-mark *char quotation-mark
char = unescaped /
escape (
%x22 / ; " quotation mark U+0022
%x5C / ; \ reverse solidus U+005C
%x2F / ; / solidus U+002F
%x62 / ; b backspace U+0008
%x66 / ; f form feed U+000C
%x6E / ; n line feed U+000A
%x72 / ; r carriage return U+000D
%x74 / ; t tab U+0009
%x75 4HEXDIG ) ; uXXXX U+XXXX
escape = %x5C ; \
quotation-mark = %x22 ; "
我正在使用 Brackets 1.2 and the extension brackets-jshint。这是我的项目根目录中的 .jshintrc
:
{
'bitwise': true,
'boss': true,
'camelcase': true,
'curly': true,
'devel': true,
'eqeqeq': true,
'eqnull': true,
'expr': true,
'forin': true,
'iterator': false,
'latedef': true,
'multistr': false,
'nocomma': true,
'noarg': true,
'noempty': true,
'nonbsp': true,
'nonew': true,
'quotmark': 'single',
'undef': true,
'unused': true,
'globals': {
'$': true,
'document': true,
'jQuery': true,
'window': true
}
}
globals
选项无效,全局变量白名单仍在被JSHint警告
我也试过这些:
globals: true
jquery: true
devel: true
但是没有成功,$
、jquery
、window
、document
和alert
仍然被警告。
请确保您已禁用 JSLint,这是默认情况下随 Brackets 一起提供的 linter。
您可以通过将此代码段添加到您的 brackets.json(通过 Debug > Show Preferences File
打开)来实现:
"language": {
"javascript": {
"linting.prefer": "JSHint",
"linting.usePreferredOnly": true
}
}
您必须在 .jshintrc
中用 double 替换 single 引号 :) 这个答案很短,所以我将添加一些解释......
只需打开 Debug » Developers tools 尝试验证一些 JavaScript 文件 – 你可以在调试控制台中看到
JSHint: error parsing /project/path/.jshintrc. Details: SyntaxError: Unexpected token '
负责读取 .jshintrc 的方法如下所示:
try {
config = JSON.parse(removeComments(content));
} catch (e) {
console.error("JSHint: error parsing " + file.fullPath + ". Details: " + e);
result.reject(e);
return;
}
JSON.parse 实现了 http://www.ietf.org/rfc/rfc4627.txt - according to ECMAScript Specification 而 '
没有位置。
来自 rfc 4627 描述 JSON 的唯一有效结构是
string = quotation-mark *char quotation-mark char = unescaped / escape ( %x22 / ; " quotation mark U+0022 %x5C / ; \ reverse solidus U+005C %x2F / ; / solidus U+002F %x62 / ; b backspace U+0008 %x66 / ; f form feed U+000C %x6E / ; n line feed U+000A %x72 / ; r carriage return U+000D %x74 / ; t tab U+0009 %x75 4HEXDIG ) ; uXXXX U+XXXX escape = %x5C ; \ quotation-mark = %x22 ; "