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

时间:2012-10-23 16:41:33

标签: java gwt clientbundle cssresource

我是全新的GWT,无论我多少阅读official doc on ClientBundles,我似乎无法理解他们是什么,以及他们做了什么。 CssResourceDataResourceTextResourceGWTCreateResource等同样适用。

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

所以我问:有人可以给我一个脚踏实地,简单,国王的英语,简单,解释这些对象是什么,以及如何使用它们?我是否可以大胆地请求这个注入的实际例子(上面链接中的代码片段谈论注入但从未实际显示它!)?这些如何映射到实际文件(my-styles.cssdataTable-static-data.json等)?事实上,我认为这是我最大的心理障碍:将这些Java对象绑定到它们所代表的静态文件上。

另外,为什么捆绑?其他项目的可重用性?也许这就是可注射性发挥作用的地方?我很困惑。

1 个答案:

答案 0 :(得分:1)

他们解决了很多问题:

  1. 您的CSS是编译安全的。如果使用不存在的css类,编译将显示哪个类不存在

  2. 您的CSS名称安全。如果您有两个不同的小部件,它们使用相同的css-classname,编译器会确保您的小部件“A”类不会损坏小部件“B”css

  3. 您可以将图像自动编译为data-url或sprite图像。这将减少http呼叫的数量。

  4. 看看目标:https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle