我是全新的GWT,无论我多少阅读official doc on ClientBundle
s,我似乎无法理解他们是什么,以及他们做了什么。 CssResource
,DataResource
,TextResource
,GWTCreateResource
等同样适用。
我认为它们作为静态文件(例如CSS,JavaScript或某些静态数据源,如JSON文件)的某种性能优化而存在。显然,它们也是“可注射的”,如果它们应该是静态的CSS / JS / JSON /等,对我来说没有意义。文件...
所以我问:有人可以给我一个脚踏实地,简单,国王的英语,简单,解释这些对象是什么,以及如何使用它们?我是否可以大胆地请求这个注入的实际例子(上面链接中的代码片段谈论注入但从未实际显示它!)?这些如何映射到实际文件(my-styles.css
,dataTable-static-data.json
等)?事实上,我认为这是我最大的心理障碍:将这些Java对象绑定到它们所代表的静态文件上。
另外,为什么捆绑?其他项目的可重用性?也许这就是可注射性发挥作用的地方?我很困惑。
答案 0 :(得分:1)
他们解决了很多问题:
您的CSS是编译安全的。如果使用不存在的css类,编译将显示哪个类不存在
您的CSS名称安全。如果您有两个不同的小部件,它们使用相同的css-classname,编译器会确保您的小部件“A”类不会损坏小部件“B”css
您可以将图像自动编译为data-url或sprite图像。这将减少http呼叫的数量。
看看目标:https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle