CDN上如何 解决实现 JS/CSS自动压缩方案?(通过 JSMinify)


需求说明

网站 www.xxx.com,环境WIN64 WAMP,分布3太服务器,主1台,次3台。里面用到的图片/CSS/JS 都放在 www.xxx.com/Public/ 目录下。需求是网站中引入到的/Public 目录下的JS/CSS 都会自动压缩,利于打开速度。

原方案

通过JSMInify + htaccess,把访问 /Public 目录中的JS/CSS 的请求地址指向 JSMinify 中的PHP ,然后通过JSMinify包进行自动压缩。这样程序员和设计上传CSS JS就无需做任何操作。很方便。

需求变更

先要求将 /Public 中的资源全部转移到CDN 服务器。CDN服务器配置 LN(Linux + Nignx),不支持PHP 不支持 htaccess。如何将工作量做到最小?

个人方案


 1)每次上传Public 中的CSS/JS 先试用Notepad++ 中的JSMini插件进行压缩格式化。然后再传
不足:网站仍旧大改动中,每次都可能修改很多JS CSS,如果一个个压缩,很可能遗漏或者有些错误。

2)自己试用JSMinify 制作一个插件,扫描指定目录中的JS/CSS 文件,然后压缩后存放。
不足:仍旧是需要手动操作,且制作这个插件需要花费一定时间。

3)寻找网络上的批量压缩工具
问题:目前没有找到。

连接


 Google JSMinfiy:https://code.google.com/p/minify/

如何才可以简化?


我现在使用的方案是自己本地用PHP建立一个脚本,将Public 目录的 资源(非CSS/JS)全都复制到另外一个目录,CSS/JS 就采用 http://localhost/min/index.php?filename= $filename 的方式下载保存。有点简单粗暴,但是省略了在minify类库上创建程序的麻烦。

php css cdn 前端压缩 JavaScript

2262243 10 years, 2 months ago

可以试试Google出的 nginx 插件 pagespeed !

FallD月影 answered 10 years, 2 months ago

與我同樣懶,連運行一下自動壓縮都不願意,也懶得寫插件(不過我倒是寫過代碼壓縮。。。)

不過支持自動壓縮與緩存的CDN也不是沒有啊,比如 Cloudflare。這無疑是最快最好的解決方案。

如果不能換CDN,CDN又不支持自定義的環境,本地壓縮就是唯一的解決方案,那麼可以考慮修改上傳用的腳本,實現真正自動壓縮。

總之啦,要麼時間花在寫程序上,要麼時間花在把自己變成程序一樣機械化執行命令上,要麼把時間花在尋求幫助上。

哪個最省事你已經知道了。

不過回答者大概也像你一樣懶?如果過幾天還沒有人提供完美解決方案,我就花幾分鐘幫你寫一個。真的很容易啦。

佔坑。

yedeyan answered 10 years, 2 months ago

我是用的yeoman脚手架

GEAR3 answered 10 years, 2 months ago

CDN 可以做镜像备份吗?资源还放在源站上,请求去请求 CDN,CDN 上面没有资源的话,让 CDN 去源站同步。做好回源策略。

kedou72 answered 10 years, 2 months ago

为什么不用grunt或者gulp实现自动化压缩

ljj3388 answered 10 years, 2 months ago

Your Answer