2016-11-07 3 views
0

Ich möchte eine HTML-Datei auf DropWizard ausführen.Dropwizard rennt statische Seite mit JavaScript-Quellen

diese gibt es Skripte, die ich ausführen möchten:

<script src='http://dhtmlx.com/docs/products/dhtmlxScheduler/codebase/dhtmlxscheduler.js'></script> 
    <link rel='stylesheet' type='text/css' href='http://dhtmlx.com/docs/products/dhtmlxScheduler/codebase/dhtmlxscheduler.css'> 
    <link rel='stylesheet' type='text/css' href='style.css'> 
    <script src='https://code.jquery.com/jquery-3.1.0.min.js'></script> 
    <script src='x.js'></script> 
    <script src='y.js'></script> 

Also meiner Methode initialize:

ich dieses:

bootstrap.addBundle(new AssetsBundle("/assets", "/", "index.html")); 
    bootstrap.addBundle(new AssetsBundle("/assets", "/", "x.js")); 
bootstrap.addBundle(new AssetsBundle("/assets", "/", "y.js")); 
    bootstrap.addBundle(new AssetsBundle("/assets", "/", "style.css")); 

ich einen 404-Fehler, wenn ich Run Dropwizard. Jedoch habe ich versucht, eine einfache HTML-Datei ohne Javascript laufen zu lassen und das lief gut. Können Sie Java-Script-Quellen außerhalb des Dropwizards verwenden?

Antwort

0

Ich hatte Erfolg in Bezug auf statische Assets in Dropwizard. Meine initialisieren Methode einfach den Standard AssetsBundle erstellt:

bootstrap.addBundle(new AssetsBundle()); 

was bedeutet, dass statische Vermögenswerte in src/main/resources/assets erwartet werden und sollte für URL Zwecke /assets/<file name>

Meine HTML-Referenzen wie diese verwenden verwiesen werden sollten:

<script src="/assets/abc.js"></script> 

Aufrufen AssetsBundle mit Parametern, wie Sie getan haben, sollte in Ordnung sein, bu t Sie sollten nur eine einzige addBundle Aufruf benötigen. (Behalten Sie die erste, verlieren Sie den Rest. Der letzte Parameter ist der Standard-Indexdateiname und spielt in Ihrem Fall keine Rolle, da Sie in Ihren Pfaden explizite Dateinamen haben.) Versuchen Sie in der HTML-Vorlage, Ihre Pfade zu ändern so dass sie absolut sind, zB:

<script src="/x.js"></script>