缩小 JS 和 CSS 有什么风险吗?
Is there any risk in minifying JS and CSS?
我在嵌入式系统上有一个复杂的 Web 应用程序,很快它将通过测试。目前所有文件都以源代码形式进行调试。我绝对需要缩小所有 JS 和 CSS,我想知道是否有 any 可能出现问题。测试压缩后的代码还是源代码状态更好?
谢谢。
如果宇宙射线在缩小过程中穿透构建服务器的外壳并击中内存,它可能会毁掉一切。不过,这种可能性非常很小。
构建中的另一个步骤总是会带来复杂性并有可能出错,尤其是当它修改文件时。您的测试会发现,由于 您应该始终测试您计划部署的内容 到生产环境。如果部署缩小代码,则测试缩小代码。
Minification 的使用如此广泛,以至于大多数工具都非常成熟和强大,在检测正在使用和未使用的内容方面具有出色的准确性。他们非常擅长不删除以不寻常方式使用的代码。
但是,缩小器可能会判定某些内容未被使用且不正确。在这种情况下,您的单元 and/or 集成测试应该会失败,您将能够更改代码或告诉压缩器保留丢失的部分。
这些修复非常快速而且通常很明显,因此拥有一些小文件(而不是许多大文件)的优势几乎总是超过它们。由于 minifiers 显着重命名代码或完全删除它,即使是简单的应用冒烟测试通常也足以暴露任何错误。
例如,Google 的闭包编译器 a tutorial 处理全局变量和外部变量、导出以及您需要保留的未使用代码。
一般来说,原始代码和精简代码在功能上没有区别。缩小过程应该只在缩小代码时对代码进行安全更改。
但是,我总是说任何复杂到真正有用的系统也会有错误。即使您偶然发现缩小代码中的错误的可能性很小,但仍有可能。
我建议您测试缩小后的代码。您也许可以 运行 使用未压缩代码进行第一次测试,因为调试未压缩代码要容易得多。
我在嵌入式系统上有一个复杂的 Web 应用程序,很快它将通过测试。目前所有文件都以源代码形式进行调试。我绝对需要缩小所有 JS 和 CSS,我想知道是否有 any 可能出现问题。测试压缩后的代码还是源代码状态更好?
谢谢。
如果宇宙射线在缩小过程中穿透构建服务器的外壳并击中内存,它可能会毁掉一切。不过,这种可能性非常很小。
构建中的另一个步骤总是会带来复杂性并有可能出错,尤其是当它修改文件时。您的测试会发现,由于 您应该始终测试您计划部署的内容 到生产环境。如果部署缩小代码,则测试缩小代码。
Minification 的使用如此广泛,以至于大多数工具都非常成熟和强大,在检测正在使用和未使用的内容方面具有出色的准确性。他们非常擅长不删除以不寻常方式使用的代码。
但是,缩小器可能会判定某些内容未被使用且不正确。在这种情况下,您的单元 and/or 集成测试应该会失败,您将能够更改代码或告诉压缩器保留丢失的部分。
这些修复非常快速而且通常很明显,因此拥有一些小文件(而不是许多大文件)的优势几乎总是超过它们。由于 minifiers 显着重命名代码或完全删除它,即使是简单的应用冒烟测试通常也足以暴露任何错误。
例如,Google 的闭包编译器 a tutorial 处理全局变量和外部变量、导出以及您需要保留的未使用代码。
一般来说,原始代码和精简代码在功能上没有区别。缩小过程应该只在缩小代码时对代码进行安全更改。
但是,我总是说任何复杂到真正有用的系统也会有错误。即使您偶然发现缩小代码中的错误的可能性很小,但仍有可能。
我建议您测试缩小后的代码。您也许可以 运行 使用未压缩代码进行第一次测试,因为调试未压缩代码要容易得多。