我正在使用 jslint 来验证我的代码。
我在所有页面上都有“使用严格”。
如何禁用消息“使用'use strict'的函数形式”但保留“缺少'use strict'语句”警告,这样我就不会忘记将它放在新文件上?
谢谢
我正在使用 jslint 来验证我的代码。
我在所有页面上都有“使用严格”。
如何禁用消息“使用'use strict'的函数形式”但保留“缺少'use strict'语句”警告,这样我就不会忘记将它放在新文件上?
谢谢
根据Crockford 的帖子,您需要将所有内容包装在一个函数中......
(function () {
"use strict";
// the rest of your file goes here...
}());
您也可以改用jshint,它有一个“ globalstrict ”选项,可以完全按照您的要求做,而不必将所有内容包装在一个函数中
如果不更改驱动 jslint 的 javascript 文件,则无法完成。
对我来说功能形式是一种胡思乱想的工作实践,因此不能强加于人。
不是每个人都需要合并和缩小,但即使我这样做了,我也会合并应用相同规则的代码,因此文件语句就足够了。
虽然 jshint 正是您需要的功能。最新的 jslint 现在比 jshint 更先进,发现了更多的弱点并处理了更复杂的代码。我喜欢 jshint,但它跟不上 jslint。
我为此找到的解决方案是使用“use strict”创建一个单行文件;没有别的了
将其作为连接包中的第一个文件,将其添加到 jslint 的排除列表中,切换 sloppy=true 杂注
不拾取草率代码可能会有一些副作用,但我对文档的理解是它只是检查“使用严格”;线
这是抑制“使用'use strict'的函数形式”的hack。
$ uname -a
Darwin 13.0.0 Darwin Kernel Version 13.0.0
找出你的 jslint 分布在哪里。
$ which jslint
/usr/local/bin/jslint
$ ls -l /usr/local/bin/jslint
lrwxr-xr-x 1 root admin 40 11 Feb 2013 /usr/local/bin/jslint -> ../lib/node_modules/jslint/bin/jslint.js
$ cd /usr/local/lib/node_modules/jslint/
$ ls
LICENSE README.md lib package.json
Makefile bin node_modules
注释掉警告。
$ sudo vim lib/jslint.js
search for 'function_strict'
comment out the line 'warn('function_strict');'
note: the exact line might vary on some versions but just comment it out.
如果它不起作用,您可能安装了多个版本的 jslint 并且没有编辑正确的版本。
sudo find / -name jslint.js