2017-11-02 11 views
0

GWTプロジェクトにJSライブラリ(VisJs:http://visjs.org/)を実装しようとしています。だから、 、私のUiBinderサンプルメッセージからそれを使用するために、私はScriptInjectorを使用:CSSとJSをUiBinderに注入 - 画像パスにアクセスする際の問題

ScriptInjector.fromString(JsResources.INSTANCE.visScript().getText()).inject(); 

とui.xmlに、私は次のように使用:

私のプロジェクトで
<ui:style src='../../../resources/vis.min.css'> 
</ui:style> 

私のようにリソースというフォルダを作成しました従い resources

を私gwt.xmlに私が追加:

<resource path="resources" /> 
これらのリソースにアクセスするには、

が必要です。

スクリプトは私のために働いていて、グラフを読み込んでいますが、完全にはありません。このようなエラーが発生しました:

vis.js:52995 GET http://127.0.0.1:8888/css/img/network/cross.png 404(見つからない) 何とか "css"がURLの一部であり、画像が見つかりません!

B.R.

答えて

0

つのオプション:

1)<ui:image>を使用してください。これは、あなたがそのようなあなたの<ui:style>タグ

<!-- With the name cross, it expects to find cross.png in the same dir. 
    Otherwise, use the `src` attribute to point to the image file 
    where it is in your project 
--> 
<ui:image ui:field="cross" /> 
<!-- Now in your css, you can use gwt-sprite, like you would in a 
    normal css resource 
--> 
<ui:style> 
    .cross-icon { 
    gwt-sprite: 'cross'; 
    padding: 10px; 
    /* etc */ 
    } 
<ui:style> 

のように、ファイル内の別の場所で参照することができui.xmlファイルにタグを追加することができます、それはインライン自分のイメージをコンパイラにすることができますので、これは、好ましい選択肢でなければなりませんそれが十分小さければ、アプリケーションがサーバーに要求する数が減り、読み込み時間が短縮されます。

2)リソースの代わりにpublic/ディレクトリを使用すると、画像は処理されずにコンパイル済みアプリで直接出力される必要があることを示します。これを行うには、public/ディレクトリをclientパッケージと.gwt.xmlファイルと平行にし、そこにイメージを配置します。次に、app.nocache.jsファイルを基準にしたイメージへのパスを指定するだけで、同じ出力ディレクトリに格納されます。

関連する問題