【问题标题】:Why are semicolons omitted in all my source js files?为什么在我的所有源 js 文件中都省略了分号?
【发布时间】:2018-01-02 17:15:15
【问题描述】:

我正在 Aptana 中启动一个 Web 项目,并下载了 bootstrap (v 3.3.7) 和 jQuery(压缩)。当我将文件导入我的 js 文件夹时,所有文件都出现了警告标志,我能看到的唯一警告是到处都缺少分号。我想我已经读过 js 中不需要分号(尽管使用它们是最佳实践),但是我之前已经下载了这些文件以供上课并且没有收到此警告。

我做错了什么吗?这些文件可以使用吗?

【问题讨论】:

  • 您下载了“压缩”文件...其中一种压缩技术是在不破坏代码的情况下消除尽可能多的分号。可以使用这些文件。

标签: javascript aptana automatic-semicolon-insertion


【解决方案1】:

这些文件可以使用吗?

是的,JavaScript 解析器可以使用称为自动分号插入的纠错过程*,即built into the language specification 纠正大多数(但不是全部)地方缺少的分号。因此,确实允许将它们留在 ASI 将为您修复的地方。但是,如果您这样做,了解 ASI 的规则很重要。 (无论如何,了解; 的规则很重要。)Bootstrap 团队知道这些规则。 (jQuery 使用显式分号。)

听起来您只是启用了一个 lint 样式的警告,而您之前没有启用该警告,即使在 ASI 将修复的地方也会标记丢失的分号。

您可以通过在选项中搜索“lint”或“代码样式”或“代码质量”选项来禁用警告,找到相关选项并将其关闭,但我不会。相反,我会寻找如何使库免于 lint/代码样式/代码质量分析,因为您使用的每个库的来源都不太可能符合您的整体编码样式规则。


* According to 该语言的原始创建者 Brendan Eich:

ASI(从形式上讲)是一种句法纠错程序。如果你开始编写代码,就好像它是一个通用的重要换行规则,你会遇到麻烦。

(有趣的是,他还说他希望换行符最初更重要,而不是更少。但正如他所说,那艘船在 1995 年航行......)

【讨论】:

  • 谢谢!只是为了澄清:代码没有任何问题,文件只是使用不同的样式,但我应该找到一种方法从 lint/code style/code 中省略某些库,这样我就不会收到这些警告一直?
  • @Cara:是的,他们很好。是的,这就是我要做的。我确信 Aptana 有办法说“这些是库,不要费心检查 lint/etc。检查它们。”可悲的是我不知道它是什么,没有使用 Aptana。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多