问题标签 [clientbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1411 浏览

gwt - 从模板中的数据源渲染图像

我想在模板中呈现源自 ClientBundle 的图像。但我得到的是:

我检查了数据源的内容,如果我将图像 (data:image/png;base64...) 复制到 {0} 中,它就可以工作。

如果我将它作为参数传递,为什么它不起作用?

0 投票
1 回答
1283 浏览

gwt - GWT ImageResource 背景位置

我正在尝试在使用 UIBinder 的 GWT 中使用单个 .png 作为具有悬停效果(a la this)的按钮,但我遇到了困难。

这是我的 ui.xml 文件:

我能够将 .png 捆绑并显示在浏览器中就好了。但是,我的 :hover CSS 没有按预期工作。当我悬停时,它确实会在图像周围显示一个蓝色边框,所以我知道 CSS 正在工作,但图像不会改变。

看起来捆绑的图像像0 0元素样式本身一样覆盖了背景位置属性,这否定了我的类级样式。有没有办法告诉 GWT 不要为捆绑的 ImageResource 设置背景位置?还是有更好的方法来完全做到这一点?

谢谢。

0 投票
3 回答
1176 浏览

gwt - GWT ClientBundle 缓存如何工作?

我试图更好地理解 GWT ClientBundle 和缓存的使用。

例如,如果我有一个大文本文件,我想提供给我的客户,我可以使用

这是否意味着客户端第一次运行应用程序时会从服务器下载文件“myText.txt”,然后将该文件存储在浏览器的缓存中,以便将来使用该应用程序时,该文件不会需要下载吗?

如果是这样,如果我更改“myText.txt”会发生什么,应用程序是否知道获取新版本?

最后,如果文件确实存储在缓存中,那么这与 HTML5 中的本地存储有何不同?

谢谢。

0 投票
1 回答
2322 浏览

gwt - GWT ImageResource @source 项目文件夹外的路径

在我的项目中,我使用的是项目中使用的ClientBundle图像。我将使用的图像已被其他非gwt项目(一个FlexWeb 应用程序)使用,因此这些图像放置在我的gwt项目外部的单个目录中。

等级制度:

在我的 CImageResource 类中:

gwt 说“资源文件丢失”。

我如何在ClientBundle课堂上使用图像?尽可能地,如果有办法访问它,我不想复制我将在我的项目文件夹中使用的图像。

0 投票
1 回答
281 浏览

gwt - 一种通过 ImageBundle 反转 sprite 合成过程并将生成的 sprite 拆分回图像片段的工具

是否有任何工具(也许GWT 编译器本身可以用作独立应用程序)用于从*.cache.png编译期间创建的文件生成单个图像?

或者,是否可以通过 API 获得映射信息(用于精灵几何图形)?

我查找了GWT 存储库文档、StackOverflow 上的信息,可能还有关于该主题的每个 google 组,但无济于事。

动机

我的目标是通过指示 GWT 编译器避免内联捆绑图片(<set-property name="ClientBundle.enableInlining" value="false" />使用图形设计师只编辑打包 WAR 中的图像资产(希望通过提供这样的工具使他/她更容易一些)。

设计师将使用提供的工具来拆卸和重新组装精灵图像,以便于编辑。

插图

精灵到片段

0 投票
2 回答
538 浏览

java - ClientBundle.enableInlining 和 ClientBundle.enableRenaming?

我最近在杠杆和旋钮部分阅读了这篇文章请参阅以下两个条目:ClientBundle

  • ClientBundle.enableInlining 是一个延迟绑定属性,可用于禁用数据:浏览器中的 URL,否则将支持将资源数据内联到已编译的 JS 中。
  • ClientBundle.enableRenaming 是一个配置属性,它将禁用强命名缓存文件的使用。

我很难将这些在行动中可视化并理解它们的作用。你在哪里设置这些属性?为什么要设置它们(即,我什么时候想要“禁用数据的使用”或“禁用强命名缓存文件的使用”)?有人可以为我提供一个真实的用例和一些代码片段吗?提前致谢!

0 投票
1 回答
110 浏览

java - ClientBundles 和资源:它们是什么以及为什么使用它们?他们解决了什么问题?

我也是全新的 GWT,无论我读了多少关于s的官方文档,ClientBundle我似乎都无法理解它们是什么以及它们做什么。CssResource, DataResource, TextResource,GWTCreateResource等也是如此。

认为它们作为静态文件(如 CSS、JavaScript 或一些静态数据源,如 JSON 文件)的某种性能优化存在。显然,它们也是“可注入的”,如果它们应该是静态 CSS/JS/JSON/等,这对我来说没有意义。文件...

所以我问:有人可以给我一个脚踏实地的,简单的,国王的英语,简单的解释这些对象是什么,以及它们是如何使用的?我是否可以大胆地要求提供一个实际注入的工作示例(上面链接中的代码片段谈到了注入,但从未真正展示过它!)?这些如何映射到实际文件(my-styles.css,dataTable-static-data.json等)?事实上,我认为这是我最大的心理障碍:将这些 Java 对象与它们所代表的静态文件联系起来。

还有,为什么要捆绑?跨其他项目的可重用性?也许这就是可注射性发挥作用的地方?我很混乱。

0 投票
0 回答
183 浏览

java - 使用 Locale 和 ClientBundle 的 GWT 多租户支持

我正在尝试为我现有的 GWT 应用程序带来多租户功能。要求如下

  1. 使用公司特定的 CSS 和图像
  2. 文字改动不大
  3. 对实际应用程序逻辑的一些更改

目前,我的应用程序有一个 ClientBundle,其中包括所有图像和 CSS,并通过静态常量访问:

我的文本都在一个大型 Java 属性文件中,该文件被解析为GWT 消息接口

我的想法是为文本设置不同的语言环境并通过 URL 参数确定语言环境。我仍然不确定如何根据公司加载不同的 ClientBundle。我是否需要创建一个抽象 ClientBundle 并将其继承到 CompanyA 和 CompanyB ClientBundles 中?

我的主要问题是,这是否是一个好的解决方案,或者是否还有其他我优雅的方式。

0 投票
0 回答
265 浏览

java - GWT GIN 在一张图片中绑定多个 ClientBundle 和 ImageResource 以快速加载应用程序

我在我的应用程序中使用 GWT。对于缓存图片,我使用带有 ImageResource 的 ClientBundle。我有很多这样的 ClientBundle:

以及数百个具有相同方法的 ClientBundle,如下所示:

结果,我在服务器上有数百张图片,例如“* .cache.png”。为了快速加载,我需要更少的图片。为此,我找到了决定:

还有Ginjector,......但问题是:

ClientBundlePack1中的MenuBundle、NatureFuture等类编译成一张大图(好),但是House1、House2、House3等House没有编译成一张大图(不好)。

房屋将每个班级房屋编译在一张图片中。我在扩展实现的 java 方式中看到了问题,只使用一种像 pic1 一样的方法,而不是使用所有方法 pic1。

但我需要在一张照片中加入所有房屋。GIN 有设置、注释可以做到这一点。或者有没有其他方法可以加入所有的房子?但是我不能重写 Houses 的代码,它会破坏我的应用程序的架构。我需要在预加载后立即所有房屋,而不是“延迟加载”。

谢谢。

0 投票
2 回答
560 浏览

gwt - GWT,CssStyle被多次注入

我使用 ClientBundle 和 CssResources 已经有一段时间了,但注意到我的样式被注入了很多次。我也可以指出的一件事是我使用了很多<ui:with field='resources' type='com.vf.client.resources.Resources' />在我的模板中,我怀疑这是在创建我的 clientBundle 的多个副本。甚至可能导致这种情况的一件事是,我使用了 Ray Ryan 将我的视图缓存在我的客户端工厂中的概念,因此某些视图是在附加到 DOM 之前创建的。在我的基本视图中,我在资源上使用提供的=true,以便希望不要让 UiBinder 为我生成一个新的。这可能不起作用,我怀疑并且 ui:with 正在创建一个新副本并忽略提供的=true。我在 Chrome 和 Firebug 中使用了开发人员工具来查看,在这两种情况下,样式都被注入了很多次。不知道如何在不从我的所有 UiBinder 模板中删除我的 Resources 类的情况下解决这个问题,这会做很多工作。任何想法表示赞赏。

更新

我一直在使用工厂/单例,只是为了确保它只创建一个。当应用程序启动时,我在我的 ClientFactory 实现中创建了这个 Resources ClientBundle。在我的应用程序开始时,我在我的风格上调用 ensureEnjected,从那时起,我的代码中永远不会调用 ensureInjected。

这是我的工厂,它只是获取我的单身请求工厂。我曾经在我的界面中使用静态初始化程序,但不久前我搬到了这里,希望能解决我的多种样式问题。

我的客户端包仅在此处初始化和注入。