缩小JS和CSS有什么风险吗?

时间:2015-07-30 18:16:40

标签: javascript css minify

我在嵌入式系统上有一个复杂的Web应用程序,很快就会进行测试。目前,所有文件都以源代码形式进行调试。我绝对需要缩小所有JS和CSS,我想知道是否有任何机会出现问题。测试缩小的代码或源状态是否更好?

感谢。

2 个答案:

答案 0 :(得分:5)

如果宇宙射线穿透你的构建服务器的情况并在缩小发生时击中记忆,它可能会毁掉一切。但是,这种情况的可能性非常

构建中的另一个步骤将始终引入复杂性并可能出现错误,尤其是在修改文件时。您的测试将发现,因为您应该始终测试您计划部署的内容到生产。如果部署缩小的代码,则测试缩小的代码。

缩小是如此广泛使用,以至于大多数工具都非常成熟和强大,在检测使用中和不使用内容时具有极好的准确性。他们非常擅长删除以不寻常方式使用的代码。

但是,缩小器可能会决定某些内容未被使用且不正确。在这种情况下,您的单元和/或集成测试应该失败,您将能够更改代码或告诉minifier保留缺少的部分。

这些修复非常快且通常很明显,因此拥有一些小文件(而不是许多大文件)的优势几乎总是会超过它们。由于minifiers重命名代码或完全删除它,即使对应用程序进行简单的冒烟测试也足以暴露任何错误。

例如,Google的闭包编译器在处理您需要保留的全局和外部变量,导出和未使用的代码时都有a tutorial

答案 1 :(得分:1)

通常原始代码和缩小代码之间没有功能差异。缩小过程只应在缩小代码时对代码进行安全更改。

但是,我总是说任何复杂到足以真正有用的系统也会有错误。即使你碰巧偶然发现缩小代码中的错误,它仍然是可能的。

我建议您测试缩小的代码。您可以使用无法编写的代码运行第一个测试,因为调试未经编码的代码要容易得多。