首页 > 解决方案 > 在 JavaScript 中,当必须缩小文件时省略分号是否安全?

问题描述

几周以来,我在 JavaScript 文件中省略了分号。我今天意识到,如果文件被缩小可能会导致问题。

我阅读了以下资源:

有两种观点:

一般情况下最好的选择是什么?我的意思是“一般情况”,即源代码应该是通用的并且可以被任何缩小器缩小。

标签: javascriptminify

解决方案


只要缩小器中没有错误,它就不应该引起问题

这是因为没有分号的 JavaScript 代码是完全有效的、可解析的 JavaScript。

这可以准确且可重复地缩小。

不会涉及“猜测”——只有基于规范的定义明确、确定性的解析算法。

以前在与 ASI 相关的缩小器中发现了错误。

因此,根据 minifier 的成熟度,可能会增加遇到此类错误的风险。

也就是说,以前在与 ASI 无关的压缩器中也发现了错误,因此无论您是否使用分号,您的压缩器都存在引入问题的风险。

鉴于这一切,以及 JavaScript 缩小器的高质量和成熟度,我会遵循让您的团队最快乐的编码风格。


推荐阅读