Javascript文件由Tomcat/Eclipse/Tapestry生成,通过大量请求和解析来减慢网站速度.如何缩小

Javascript file being generated by Tomcat/Eclipse/Tapestry, slowing website down with large requests and lots of parsing. How to minify/optimize it?

本文关键字:网站 速度 何缩小 缩小 和解 请求 Eclipse Tapestry Tomcat 文件 生成      更新时间:2023-09-26

文件名为:

H4sIAAAAAAAAAIXNQQrCMBCF4XGhXkREhE500QNN41SqlYS86aKeyat5B4mQgJu6$002ffl47$002fWm9ZNotSWiDR2dAGpw8GmIJn4awwTX8plP3LqYggWbo$002fINxMv2p2Z$002fWPba9$002brtK3dFmkSFpbmiErLaF9WN4u$002fdkC6V1ZJd83eteSggV83nHzax7d8QAQAA.js

(每次都是同一个名字)。

我已经确定Tomcat/Eclipse/Tapestry在启动web服务器时生成这个js文件。但是,我根本找不到修改文件的方法。

文件的前几行是:

/* /assets/scriptaculous/5.1.0.5/prototype.js */;
/*  Prototype JavaScript framework, version 1.6.0.3
 *  (c) 2005-2008 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
 *--------------------------------------------------------------------------*/

然而,我也已经确定,我们也没有在任何地方安装这个prototype.js文件。

当运行Google的PageSpeed时,我发现该文件是一个239KB的文件,其中140KB在初始页面加载时被解析(可以缩小23KB)。它占用了页面加载的大部分时间。

其他人以前遇到过这个js文件吗?如果是,你是如何处理的?

Tapestry中的客户端逻辑(validation/ajax等)是在prototype.js之上构建的。在Tapestry 5.4(尚未发布)中,这将很容易替换为jQuery或其他"基础"框架。

Javascript堆栈是在Tapestry5.2中引入的,其中多个Javascript文件可以绑定到一个文件中。

如果你看一下核心挂毯罐子,你会发现里面捆绑着prototype.js。Tapestry能够从类路径提供js文件,根据您运行的Tapestry版本,它很可能将一些核心js文件捆绑在一起。

Tapestry有一些智能,因此js文件不会在开发模式下缓存,而是在生产模式下主动缓存。它通过为您的应用程序版本和将来的缓存到期响应标头生成唯一的文件名来实现这一点。