2015-02-01 9 views
12

Ich versuche, sbt-web und sbt-js-engine insbesondere zu verwenden, um meine Abhängigkeiten mit npm statt Webjars aufzulösen.Ich kann sbt-web nicht mit npm für Frontend-Abhängigkeiten arbeiten

Mein Problem ist, dass die Abhängigkeiten nicht in der target/web/public/main/lib Ordner während der web-stage Aufgabe kopiert werden, wie es bei Webjar der Fall ist.

Ich habe die sample project from sbt-js-engine verwendet, um meine Tests zu machen. Mit diesem Projekt erwarte ich, dass die console-browserify Abhängigkeit von der package.json Datei im Ordner target/web/public/main/lib finden, aber es ist nicht.

enter image description here

Vielleicht bin ich völlig Missverständnis etwas?

+0

Hallo, sorry, ich kann dir nicht helfen, weil ich nicht einmal in der Lage war, auf die Bühne zu kommen. Wie hast du es geschafft, den' node_modules'-Ordner zu bekommen erscheinen? Ich musste 'sbt web-assets: jseNpmNodeModules' manuell ausführen, um die npm-Abhängigkeiten zu holen. – tobik

+0

Ich musste auch 'sbt web-assets: jseNpmNodeModules' manuell ausführen. –

+0

Hallo, es scheint ein [Problem] (https://github.com/playframework/playframework/issues/3565) mit playframework zu sein. Vielleicht versuchen, auf Play 2.4.2 zu aktualisieren und zu sehen, ob es gelöst ist –

Antwort

3

Ich hatte ein ähnliches Problem selbst, wenn ich versuche, einige Testabhängigkeiten mit Npm zu ziehen. nach ein paar Stunden nach einer Lösung suchen ich gerade zu Ende gegangen, um eine Aufgabe in meinem build.sbt Schreiben die Verzeichnisse manuell zu verschieben: (vielleicht die beste Lösung, aber eine Arbeit um nicht sein)

lazy val copy_node_modules = taskKey[Unit]("Copys the node_module to the test target dir") 

copy_node_modules := { 
    val node_modules = new File("node_modules") 
    val target = new File("target/web/public/main/public/lib/") 
    IO.copyDirectory(node_modules,target,true, true) 
} 

addCommandAlias("get_npm_deps", ";web-assets:jseNpmNodeModules;copy_node_modules") 

dann können Sie " get_npm_deps "um die npm-basierten Abhängigkeiten zu holen