2011-06-06 68 views
6

我一直在我的项目中加载如此多的JS和CSS。 为了提高我的网站性能,我开始使用集成了Ant build的YUICompression。 因此,每次构建项目时,都会创建附加了“-min.js”的缩小文件,例如:构建之后的myscript.js,新文件“myscript-min.js”。如何在生产中加载minify css envirn

现在我已经改变了所有的文件来加载我的页面myscript-min.js。

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

在此先感谢!

回答

2

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

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

1

如果你可以在你的项目中使用PHP,那么看看minify项目。它需要照顾大部分的杂事。您可以自由使用CSS和JS文件的未压缩版本,当这些文件通过HTTP请求时,minify会按需压缩它们。

0

如果你使用PHP,只需做到以下几点:

编辑Apache的配置您的生产机器上的文件,该行(之后重启Apache)到httpd.conf。在共享主机上,如果您无法访问httpd.conf,您应该尝试使用.htaccess。

SetEnv ENVIRONMENT production 

这只是简单地向apache添加一个变量,告诉你你正在生产模式下运行。在您的开发机器上,将“生产”的值改为“开发”或任何对您有意义的东西。

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

然后在你的PHP文件,你可以加载JS全文件和精缩一个,像这样间切换