在我的子模块中,我想在运行时注入 css:
public interface Resources extends ClientBundle
{
Resources INSTANCE = GWT.create( Resources.class );
@Source( "pagedown.css" )
@NotStrict
CssResource css();
}
来自我使用的java Resources.INSTANCE.css().ensureInjected();
,它工作得很好,除了在pagedown.css中没有显示图像:
.wmd-button>span {
background-image: url(pagedown/wmd-buttons.png);
background-repeat: no-repeat;
background-position: 0px 0px;
}
原因是没有办法找到图像。上面的代码在我的子项目(子模块)中以供重用,我必须将图像复制到我的应用程序项目中才能使其工作,这很麻烦并且破坏了封装,有没有办法解决这个问题?
编辑
如果我将上面的 css 修改为background-image: url(myapp/pagedown/wmd-buttons.png)
; 但是它会起作用,因为这个 css 在子项目中并且永远不知道我的应用程序项目的名称,所以如果我这样硬编码,有一天我有另一个项目使用这个组件,我必须修改它myOtherApp/pagedown/wmd-buttons.png
,可以看到两个项目冲突,不能同时使用我的组件。谢谢。