2015-02-01 20 views
12

Özellikle webjars yerine npm ile bağımlılıkları gidermek için sbt-web ve sbt-js-engine kullanmaya çalışıyorum.sbt-web ön bağımlı bağımlılıkları için npm ile çalışamazsınız

Sorunum, bağımlılığın, Webjar kullanılarak olduğu gibi web-stage görevi sırasında target/web/public/main/lib klasöründe kopyalanmamasıdır.

Testlerimi yapmak için sample project from sbt-js-engine'u kullandım. Bu proje ile, package.json dosyadan console-browserify bağımlılığını target/web/public/main/lib klasöründe bulmayı umuyorum, ancak öyle değil.

enter image description here

Belki tamamen yanlış anlama şey değilim?

+0

Merhaba, üzgünüm, size yardım edemem, çünkü bulunduğunuz sahneye bile erişemedim." node_modules "klasörünü nasıl almayı başardınız görünür? Npm bağımlılıklarını almak için sbt web varlıklarını elle çalıştırmam gerekiyordu: jseNpmNodeModules. – tobik

+0

Ayrıca sbt web varlıklarını çalıştırmak zorunda kaldım: jseNpmNodeModules' elle. –

+0

Merhaba, playframework ile bir [issue] (https://github.com/playframework/playframework/issues/3565) gibi görünüyor. Belki Play 2.4.2'ye yükseltin ve çözülüp çözülmediğine bakın –

cevap

3

Bazı test bağımlılıkları npm ile çekmeye çalışırken kendim de benzer bir sorun yaşadım. Birkaç saat sadece manuel dizinleri taşımak için benim build.sbt bir görevi yazma sona erdi çözüm aradıktan sonra: kullanabilirsiniz ardından

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") 

"(en iyi çözümü ancak geçici bir çözüm olmayabilir) get_npm_deps "npm tabanlı bağımlılıkları içeri çekmek için