jslint4java 外部 jslint 选项被忽略
jslint4java external jslint options are ignored
我将 phing-drupal-template and have problem with jslinting. When using an external jslint 与 --jslint 选项一起使用,--browser 选项和内联选项都无法像
那样被识别
/*jslint browser: true */
如有任何帮助,我们将不胜感激。
谢谢
java -jar tools/jslint4java/jslint4java-2.0.5/jslint4java-2.0.5.jar
--browser
--predef "jQuery,$,Modernizr"
../sites/all/modules/custom/zendigital/js/frontpage.js
java -jar tools/jslint4java/jslint4java-2.0.5/jslint4java-2.0.5.jar
--jslint tools/jslint/fulljslint.js
--browser
--predef "jQuery,$,Modernizr"
../sites/all/modules/custom/zendigital/js/frontpage.js
jslint:...frontpage.js:59:40:'window' is not defined.
jslint:...frontpage.js:84:23:'window' is not defined.
jslint:...frontpage.js:104:36:'window' is not defined.
jslint:...frontpage.js:105:23:'window' is not defined.
jslint:...frontpage.js:180:25:'Modernizr' is not defined.
jslint:...frontpage.js:250:65:'window' is not defined.
jslint:...frontpage.js:250:86:'window' is not defined.
jslint:...frontpage.js:278:4:'jQuery' is not defined.
如果您使用 canonical jslint file,是否存在该行为?您链接的那个在四年前分支了,还没有更新,而且似乎不尊重 window
。
比较规范的当前 JSLint 文件中的这一部分,它确实包含 window
:
https://github.com/douglascrockford/JSLint/blob/master/jslint.js#L343
// browser contains a set of global names that are commonly provided by a
// web browser environment.
browser = array_to_object([
'clearInterval', 'clearTimeout', 'document', 'event', 'FormData',
'frames', 'history', 'Image', 'localStorage', 'location', 'name',
'navigator', 'Option', 'parent', 'screen', 'sessionStorage',
'setInterval', 'setTimeout', 'Storage', 'window', 'XMLHttpRequest'
], false),
...您的版本自 2010 年 11 月以来没有任何更新,不包含 window
.
https://github.com/mikewest/JSLint/blob/master/fulljslint.js#L340
// browser contains a set of global names which are commonly provided by a
// web browser environment.
browser = {
addEventListener: false,
blur : false,
clearInterval : false,
clearTimeout : false,
close : false,
closed : false,
defaultStatus : false,
document : false,
event : false,
focus : false,
frames : false,
getComputedStyle: false,
history : false,
Image : false,
length : false,
location : false,
moveBy : false,
moveTo : false,
name : false,
navigator : false,
onbeforeunload : true,
onblur : true,
onerror : true,
onfocus : true,
onload : true,
onresize : true,
onunload : true,
open : false,
opener : false,
Option : false,
parent : false,
print : false,
removeEventListener: false,
resizeBy : false,
resizeTo : false,
screen : false,
scroll : false,
scrollBy : false,
scrollTo : false,
setInterval : false,
setTimeout : false,
status : false,
top : false,
XMLHttpRequest : false
},
我根本没研究过 --predef "jQuery,$,Modernizr"
。
我通常不建议使用相对匿名的分支 JSLint 文件,更不用说已经放置了四年的文件了。您正在使用它的哪些更改?将其添加到符合 window
的最新 JSLint 版本可能更容易——或者使用 JSHint 获得相同的更改,如果它们有用的话。 (或者,正如我通常所说的那样,您总是可以接受 JSLint 的建议。;^D)
祝你好运。让我们知道规范版本是否有效。
编辑: 您可以尝试为您的过时版本设置 widget
。 That appears to have window
in it:
// widget contains the global names which are provided to a Yahoo //
(fna Konfabulator) widget.
widget = {
alert : true,
animator : true,
appleScript : true,
beep : true,
//...
Window : true,
XMLDOM : true,
XMLHttpRequest : true,
yahooCheckLogin : true,
yahooLogin : true,
yahooLogout : true
},
就是说,你在这一点上太不标准了(widget
不是 当前的 JSLint 指令,并且包含很多与 Konfabulator 相关的废话) ,你真的应该放弃这个分支并更新到当前的规范版本。这比推荐的修复更 "for fun experiment"。
您也可以只将 window: true,
插入 browser
数组,但是,同样,您最好在当前版本的 JSLint 中从该分支进行所需的编辑,如果有 JSHint,则使用 JSHint,或者简单地遵循当前版本的 JSLint 的建议。
就是说,我无法用旧的分支版本复制您在 a minimal JSLint wrapper 中看到的问题;它让大量的东西通过。抱歉,希望我能提供更多帮助。
我将 phing-drupal-template and have problem with jslinting. When using an external jslint 与 --jslint 选项一起使用,--browser 选项和内联选项都无法像
那样被识别/*jslint browser: true */
如有任何帮助,我们将不胜感激。 谢谢
java -jar tools/jslint4java/jslint4java-2.0.5/jslint4java-2.0.5.jar
--browser
--predef "jQuery,$,Modernizr"
../sites/all/modules/custom/zendigital/js/frontpage.js
java -jar tools/jslint4java/jslint4java-2.0.5/jslint4java-2.0.5.jar
--jslint tools/jslint/fulljslint.js
--browser
--predef "jQuery,$,Modernizr"
../sites/all/modules/custom/zendigital/js/frontpage.js
jslint:...frontpage.js:59:40:'window' is not defined.
jslint:...frontpage.js:84:23:'window' is not defined.
jslint:...frontpage.js:104:36:'window' is not defined.
jslint:...frontpage.js:105:23:'window' is not defined.
jslint:...frontpage.js:180:25:'Modernizr' is not defined.
jslint:...frontpage.js:250:65:'window' is not defined.
jslint:...frontpage.js:250:86:'window' is not defined.
jslint:...frontpage.js:278:4:'jQuery' is not defined.
如果您使用 canonical jslint file,是否存在该行为?您链接的那个在四年前分支了,还没有更新,而且似乎不尊重 window
。
比较规范的当前 JSLint 文件中的这一部分,它确实包含 window
:
https://github.com/douglascrockford/JSLint/blob/master/jslint.js#L343
// browser contains a set of global names that are commonly provided by a
// web browser environment.
browser = array_to_object([
'clearInterval', 'clearTimeout', 'document', 'event', 'FormData',
'frames', 'history', 'Image', 'localStorage', 'location', 'name',
'navigator', 'Option', 'parent', 'screen', 'sessionStorage',
'setInterval', 'setTimeout', 'Storage', 'window', 'XMLHttpRequest'
], false),
...您的版本自 2010 年 11 月以来没有任何更新,不包含 window
.
https://github.com/mikewest/JSLint/blob/master/fulljslint.js#L340
// browser contains a set of global names which are commonly provided by a
// web browser environment.
browser = {
addEventListener: false,
blur : false,
clearInterval : false,
clearTimeout : false,
close : false,
closed : false,
defaultStatus : false,
document : false,
event : false,
focus : false,
frames : false,
getComputedStyle: false,
history : false,
Image : false,
length : false,
location : false,
moveBy : false,
moveTo : false,
name : false,
navigator : false,
onbeforeunload : true,
onblur : true,
onerror : true,
onfocus : true,
onload : true,
onresize : true,
onunload : true,
open : false,
opener : false,
Option : false,
parent : false,
print : false,
removeEventListener: false,
resizeBy : false,
resizeTo : false,
screen : false,
scroll : false,
scrollBy : false,
scrollTo : false,
setInterval : false,
setTimeout : false,
status : false,
top : false,
XMLHttpRequest : false
},
我根本没研究过 --predef "jQuery,$,Modernizr"
。
我通常不建议使用相对匿名的分支 JSLint 文件,更不用说已经放置了四年的文件了。您正在使用它的哪些更改?将其添加到符合 window
的最新 JSLint 版本可能更容易——或者使用 JSHint 获得相同的更改,如果它们有用的话。 (或者,正如我通常所说的那样,您总是可以接受 JSLint 的建议。;^D)
祝你好运。让我们知道规范版本是否有效。
编辑: 您可以尝试为您的过时版本设置 widget
。 That appears to have window
in it:
// widget contains the global names which are provided to a Yahoo //
(fna Konfabulator) widget.
widget = {
alert : true,
animator : true,
appleScript : true,
beep : true,
//...
Window : true,
XMLDOM : true,
XMLHttpRequest : true,
yahooCheckLogin : true,
yahooLogin : true,
yahooLogout : true
},
就是说,你在这一点上太不标准了(widget
不是 当前的 JSLint 指令,并且包含很多与 Konfabulator 相关的废话) ,你真的应该放弃这个分支并更新到当前的规范版本。这比推荐的修复更 "for fun experiment"。
您也可以只将 window: true,
插入 browser
数组,但是,同样,您最好在当前版本的 JSLint 中从该分支进行所需的编辑,如果有 JSHint,则使用 JSHint,或者简单地遵循当前版本的 JSLint 的建议。
就是说,我无法用旧的分支版本复制您在 a minimal JSLint wrapper 中看到的问题;它让大量的东西通过。抱歉,希望我能提供更多帮助。