如何在生产环境中加载minify css

时间:2011-06-06 07:04:47

标签: javascript css ant minify yui-compressor

我在项目中加载了很多JS和CSS。 为了提高我的网站性能,我开始使用与ASE构建集成的YUICompression。 因此,每次构建项目时,它都会创建缩小的文件,并附加“-min.js”

示例:构建后的myscript.js,新文件“myscript-min.js”。

现在我已经更改了所有文件以在我的页面中加载myscript-min.js.

是否有任何自动化或更简单的方法来加载minify文件。

提前致谢!!!

3 个答案:

答案 0 :(得分:2)

在您的代码中,尝试确定您加载页面的环境(生产或开发)。例如,在本地计算机上进行开发时,您可以检查IP地址,服务器环境变量(使用Apache SetEnv),脚本路径等。使用该数据,加载缩小的脚本(在生产环境中),或单独的脚本(在您的开发环境中)。

我假设你正在使用服务器端脚本语言,比如PHP。如果您正在提供静态HTML文件,那就会变得有点棘手(我在考虑dynamic javascript loading或其他什么)。

答案 1 :(得分:1)

如果您(可以)在项目中使用PHP,那么请查看minify项目。它负责大部分家务。您可以自由使用CSS和JS文件的未压缩版本,当通过HTTP请求这些文件时,minify将按需压缩它们。

答案 2 :(得分:0)

如果您使用的是PHP,请执行以下操作:

编辑生产计算机上的apache配置文件,并将此行添加到httpd.conf(之后重启apache)。在共享主机上,如果您无权访问httpd.conf,则应尝试.htaccess。

SetEnv ENVIRONMENT production

这只是向apache添加一个变量,告诉您正在以生产模式运行。在您的开发机器上,将值“production”更改为“development”或任何对您有意义的内容。

然后在你的PHP文件中,你可以在加载完整的JS文件和缩小的文件之间切换,如下所示:

if(isset($_SERVER['ENVIRONMENT']) && $_SERVER['ENVIRONMENT'] == "production")
    {
        ... production minified JS here
    }
    else
    {
        ... development unminified JS here
    }