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

时间:2009-03-01 14:38:11

标签: javascript jscompress

当用户请求页面时构建或“动态”(可能具有缓存)。

每个人的不利/优势是什么。

5 个答案:

答案 0 :(得分:7)

当站点从dev移动到实时服务器时。

我在开发服务器上总是有一个未压缩的JS版本,在实时服务器上有一个最小化的版本。

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

我认为除非你在JavaScript中添加动态数据,否则即时运行将是不必要的(在这种情况下,有更好的方法)。这只是一笔不必要的开支,只会减慢页面加载速度。

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

答案 3 :(得分:2)

我说你有源代码控制中的js文件,当你开始自动构建时,作为构建脚本的一部分,它通过压缩器运行所有的javascript文件。这样,当您将其部署到测试/暂存环境时,您就拥有了最新的脚本,但也进行了压缩以进行性能测试,就像他们一旦投入生产一样。

答案 4 :(得分:1)

我同意如果JS没有改变,那么即时可能并不是真正必要的(并且会占用一些cpu周期)。

可能会涉及一些中间件,可以检查JS是否已经更改并仅在请求时压缩它(甚至可能将各种JS文件组合成一个)。

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