私のサブモジュールでは、実行時にcssを注入したいと思います。
public interface Resources extends ClientBundle
{
Resources INSTANCE = GWT.create( Resources.class );
@Source( "pagedown.css" )
@NotStrict
CssResource css();
}
私が使用Resources.INSTANCE.css().ensureInjected();
しているJavaから、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
、2つのプロジェクトが競合していることがわかり、私のコンポーネントを同時に使用することはできません。ありがとう。