gpt4 book ai didi

javascript - gwt 独立模块,没有代码共享

转载 作者:行者123 更新时间:2023-11-29 18:36:20 25 4
gpt4 key购买 nike

我必须使用 GWT 创建一个 Web 应用程序。该项目有一个核心模块,它将公开一组供其他应用程序使用的 api;这些应用程序中的每一个都是无关的。每个都应加载到单独的 iframe 中。

我的想法是将 core 编译成 core.js 并且每个应用程序都应该有自己的 app1.js app2.js 等等...

应用1

script type="text/javascript" src="core.js" ></script>
script type="text/javascript" src="app1.js" ></script>

采用这种设计,由于浏览器缓存,每个应用仅加载 app.js,其大小应该更小 ~20kb。

制作核心模块很简单,但应用程序存在问题。原因是在编译之后,每个应用程序都包含整个 GWT 库 - 这大大增加了完整 Web 应用程序的下载大小。

谁能提出解决这个问题的方法?我在 SO 上检查过类似的问题,但未能找到问题的简单工作答案。

最佳答案

这是不可能的。

GWT 旨在成为一个整体编译器。它会使用您所有的 java 代码,假设除了提供给它的代码之外不存在其他代码,然后生成优化的 javascript 代码。这样做时,它只会编译您的程序实际使用的标准 GWT 库部分。

由于 GWT 的工作方式,在同一页面上包含多个 GWT 模块总是效率低下。

相反,这是我推荐的 -

  1. 每个应用程序一个 GWT 模块,而不是每个页面一个。而且把两个模块放在同一个页面上肯定是不对的
  2. 在模块之间共享 java 代码,而不是 javascript。这意味着您的共享库将永远不会被编译为 javascript

关于javascript - gwt 独立模块,没有代码共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com