7

我有一吨 JS 意大利面,急需好好擦洗。我已经通过包 Control 将 sublimetext2 配置为 use sublime-jslint,并且我已经将必要的命令行开关传递给了它,jslint4java-2.0.1所以它知道如何发挥它的魔力。问题是,这些文件包含一些粘贴的第三方代码。我无法将此代码移到文件之外,因为它对时间要求很高,需要先加载。

我查看了jslint4java文档,找不到让它忽略脚本的特定部分的方法。我已经搜索了该站点,唯一能找到的关于忽略代码区域的内容是 jslint 网络版本。

所以,我的问题是:有什么方法可以让它忽略 javascript 文件的特定区域?如果我能以某种方式将那部分沙箱化,那么我宁愿不忽略这些警告,这样 jslint 就不会对我大喊大叫。

提前致谢。

4

1 回答 1

5

JSLint 在解析时使用控制注释来控制其行为。一种方法是在第三方脚本之前禁用所有相关的。在脚本的最后一行之后,您必须再次启用它们。不幸的是,没有控制注释来禁用整个 linting。

第二种选择是将其放入一个单独的文件中,您明确声明您不想这样做。但是,有时可能会根据您的情况知道是否加载了此脚本。

这可能不适用于您,但可能适用于阅读此问题的其他人。

  • 如果您将脚本放在页面上的任何其他脚本之上,它将始终在执行任何后续脚本之前加载。
  • 如果您只使用在另一个文件中单独定义的特定函数或变量,那么您可以检查类型是否符合您的预期

这是一个示例函数,用于检查是否加载了必要的函数/变量(如果函数或变量在其他地方定义,则不起作用)。它在 5 秒内检查 10 次

  • 如果您正在动态调用这两个脚本,或者无法控制它们的顺序,并且您不能确定这些 vars/func 没有在其他地方定义,您可以将所有依赖代码封装在一个函数中并使用 ajax 回调来执行编码。

这是一个使用纯 JavaScript 处理 AJAX 的示例 使用 AJAX 加载此脚本后,使用示例中函数的第二个参数来调用您的依赖代码。

这是我能提供的最好的帮助。

于 2012-09-01T22:06:53.853 回答