在什么阶段压缩/最小化javascript?

在什么阶段压缩/最小化javascript?,javascript,jscompress,Javascript,Jscompress,在构建时,或者在用户请求页面时“动态”(可能带有缓存) 当站点从dev移动到实时服务器时,每种方法的优点是什么 我在dev服务器上总是有一个JS的未压缩版本,在live服务器上总是有一个最小化版本 这样做的好处是,在开发时,我可能会遇到JS问题,并非常简单地修复它,但我需要通过最小化程序运行每个更改的脚本,但对我来说,这并不多。在构建或部署到后台环境时,是压缩javascript的好时机。这样,您将有机会在后台环境中测试它,并捕获可能发生的任何错误 有时,压缩时确实会出现错误。您可能希望包含在压

在构建时,或者在用户请求页面时“动态”(可能带有缓存)


当站点从dev移动到实时服务器时,每种方法的优点是什么

我在dev服务器上总是有一个JS的未压缩版本,在live服务器上总是有一个最小化版本


这样做的好处是,在开发时,我可能会遇到JS问题,并非常简单地修复它,但我需要通过最小化程序运行每个更改的脚本,但对我来说,这并不多。

在构建或部署到后台环境时,是压缩javascript的好时机。这样,您将有机会在后台环境中测试它,并捕获可能发生的任何错误


有时,压缩时确实会出现错误。您可能希望包含在压缩之前运行的jslint命令行版本,以确保js通过。这将最小化但不能消除所有的压缩错误。

我认为,除非您向JavaScript添加动态数据,否则动态操作是不必要的(在这种情况下,有更好的方法可以解决)。这只是一笔不必要的支出,只会降低页面加载速度


就个人而言,我会在部署/构建应用程序时这样做,这是一次性的事情。

我会说,当你启动一个自动构建时,它会通过一个压缩器运行所有javascript文件,就像你在源代码控制中编写js文件一样。通过这种方式,当您将其部署到测试/登台环境时,您已经获得了最新的脚本,但也为性能测试进行了压缩,就像它们进入生产环境时一样。

我同意,如果JS没有更改,动态可能不是真正必要的(并且会占用一些cpu周期)

可能会涉及到一些中间件,它们可以检查JS是否已更改,并仅在请求时压缩它(甚至可能将各种JS文件分组为一个结果文件)


部署时的一个好方法可能是向JS链接添加一些时间戳或随机字符串作为参数(例如,
../scripts.JS?t=cdkjnscsds7sc8cshcsjhbcs
)。这样,当JS更改时,您可以使用不同的字符串,并且不会出现缓存问题,因为这是一个新的URL。CSS也是如此

如果您在实时系统上发现了开发人员机器上没有出现的bug,您该怎么办?压缩机可能会引入错误。。。