我正在考虑创建可执行以下操作的脚本:
让我们说需要加载文件的顺序是在某处的配置文件中写的。
现在当我加载myexamplepage.com时,我实际上使用了jQuery,骨干,mootools,原型和其他一些库,但是我没有向服务器请求这些多个文件,而是调用myexamplepage.com/js/getjs,我得到的是组合和缩小的JS文件。这样我就消除了对服务器的额外请求。当我在网上阅读关于加速你网站的消息时,我发现你对服务器的要求越多,网络就越慢。
由于我对编程世界很陌生,我知道我认为很多事情已经存在,我也不认为这也是例外。
因此,请列出您所知道的与我所描述的完全或类似的内容。(请注意,每次您希望更改脚本时,您都不需要使用任何类型的缩放器或第三方软件,保留原始文件结构,你只使用类助手)
P.S。我认为同样的方法也可以用于CSS文件。
我使用的是PHP和Apache。
答案 0 :(得分:2)
我建议不要让服务器在运行中执行此操作,而是建议提前完成:只需连接脚本并通过非破坏性的缩小器运行它们,例如jsmin
或{{ 3}}"简单"模式。
这也使您有机会在该文件上添加版本号,并为其提供较长的缓存时间,以便用户每次访问该页面时都不必重新下载。例如:假设您的页面内容经常更改,您可以在页面上设置缓存标题,使其每天都过期。当然,您的 JavaScript 并不是每天都在变化。因此,您的page.html
可以包含名为all-my-js-v4.js
的文件,该文件具有较长的缓存时间(例如,一年)。如果您更新JavaScript,请创建一个名为all-my-js-v5.js
的新一体化文件,并更新page.html
以包含该文件。用户下次看到page.html
时,他们会请求更新的文件;但在那之前,他们可以使用他们的缓存副本。
如果您真的想要即时执行此操作,如果您正在使用Apache,则可以使用Google Closure Compiler。
答案 1 :(得分:1)
如果您使用的是.NET,我可以推荐Combres。它确实组合和缩小了JavaScript和CSS文件。
答案 2 :(得分:0)
我知道这是一个老问题,但您可能对此项目感兴趣:https://github.com/OpenNTF/JavascriptAggregator
假设您为您的javascript使用AMD模块,该项目将根据需要创建高度可缓存的层。它还有您可能感兴趣的其他功能。