这是一个用 Java 编码并使用GWT 项目工具编译为 JS 的 Web 项目。
GWT 编译器完成了在手动编写 JS 时必须手动完成的许多工作,以及在普通 JS 项目中几乎不可能完成的其他一些任务:混淆、压缩、删除死亡代码、每个浏览器的不同优化、重命名脚本,代码拆分等。
您的应用程序中的内容是此编译的结果:
首先,您应该有一个唯一的index.html
文件,因为 GWT 用于生成 RIA(富 Internet 应用程序),也称为 SPI(单页接口)。
唯一的 html 文件应该引用一个名为application_name.nocache.js
. 注意.nocache。部分,这意味着 Web 服务器应该设置适当的标头,这样它就不会被代理或浏览器缓存。这个文件非常小,因为它只有代码来识别浏览器并请求下一个 javascript 文件。
这第一个脚本知道哪些NNNN.cache.js
必须加载每个浏览器。NNNN 前缀是编译应用时生成的唯一编号,每个浏览器都不同。GWT 支持 6 种不同的浏览器平台,所以通常你会有 6 个这样的文件。请注意 .cache。名称的一部分,这意味着该文件可以被永久缓存。它们是大文件,因为包含应用程序的所有代码。
因此,您的应用程序的正常工作流程是浏览器请求index.html
可以缓存的文件。该文件具有脚本标记,用于获取applicaton.nocache.js
应始终向服务器请求的小型启动脚本。它只是为您的浏览器加载最新排列的代码,这些排列NNNN.cache.js
将永远下载并缓存在您的浏览器中。
你在这里有更多关于这些东西的信息
这个命名约定的目标是,当用户下次访问应用程序时,它将缓存index.html
和NNNN.cache.js
文件,只询问application.nocache.js
非常小的文件。它保证用户始终加载应用程序的最新版本,浏览器将只下载一次应用程序的代码,代理或缓存设备在发布新版本时不会破坏您的应用程序等。
话虽如此,由于大的混淆,几乎不可能弄清楚代码检查 javascript 的内容。您需要原始 .java 文件来理解代码或进行修改。