【问题标题】:How to make JSLint ignore pieces of code?如何让 JSLint 忽略代码片段?
【发布时间】:2014-06-14 20:04:58
【问题描述】:

我的 php 文件主要有几个我想调试的 javascript 函数。文件开头为:

/*ignore jslint start*/
<? Header("content-type: application/x-javascript");
include('../country files/' . $_GET['country'] . '.php');
?>
/*ignore jslint end*/
  ...
  javascript code

但是,JSLint 在第 1 行给出错误!

【问题讨论】:

  • JSLint 是“JavaScript 代码质量工具”。因此,您应该粘贴该 PHP 生成的 JS 代码,而不是粘贴 PHP 代码。
  • @Oriol 我的 php 文件只需要两个 JS 函数中的一些 php 变量,但所有其他函数都只是纯 javascript 编写的。在 JSLint 中简单地忽略 段代码 会非常有用

标签: javascript jslint


【解决方案1】:

您可以使用 cmets 更改几行的 JSLint 选项。

例如,JSLint 会抱怨您使用Underscore.JSLo-Dash,因为在变量名称的末尾有下划​​线不是一个好习惯。但是我可以通过暂时阻止nomen 警告来愉快地使用Underscore 的each() 功能:

/*jslint nomen:true*/ // suppress dangling underscore warnings
_.each( ... ); // example use of Underscore.JS
/*jslint nomen:false*/ // re-enable dangling underscore warnings

但是,没有办法使用 cmets 暂时完全禁用 JSLint。

将 JavaScript 移出到单独的文件中是一种很好的做法。理想情况下,您不应在 HTML 或 PHP 文件上运行 JSLint,而应仅在纯 JavaScript 文件上运行。

如果您需要使用 PHP 动态生成 JavaScript 代码,请在您喜欢的输出示例上运行 JSlint。通常,您会尽量减少必要的情况。

您可以让 PHP 生成少量 JavaScript 来建立操作上下文(例如一些全局常量),并将其余的前端功能留给单独的纯 JavaScript 文件。

【讨论】:

  • 您能说得更具体些吗?选项 nomen 有什么作用?
  • 我是否需要在 _.each() 之间插入我忽略的代码
  • 我更新了示例,@user3116402,如果需要进一步说明,请告诉我。
猜你喜欢
  • 2021-05-21
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多