2015-02-01 5 views
12

특히 webjars 대신 npm으로 종속성을 해결하기 위해 sbt-web 및 sbt-js-engine을 사용하려고합니다.프론트 엔드 종속성을 위해 npm과 함께 작동하도록 sbt-web을 가져올 수 없습니다.

내 문제는 webjar를 사용하는 경우 web-stage 작업 중에 target/web/public/main/lib 폴더에 종속성이 복사되지 않는다는 것입니다.

나는 내 테스트를 위해 sample project from sbt-js-engine을 사용했습니다. 이 프로젝트를 사용하면 폴더의 package.json 파일에서 console-browserify 종속성을 찾을 수 있지만 그렇지 않습니다.

enter image description here

은 어쩌면 내가 완전히 오해 일이야?

+0

안녕하세요, 죄송합니다. 현재 내가있는 단계까지 도달하지 못해서 도울 수 없습니다. 어떻게 node_modules 폴더를 만들었습니까? 나타나다? 수동으로'sbt web-assets : jseNpmNodeModules'을 실행하여 npm 의존성을 가져와야했습니다. – tobik

+0

또한'sbt web-assets : jseNpmNodeModules'를 수동으로 실행해야했습니다. –

+0

안녕하세요, playframework가있는 [문제] (https://github.com/playframework/playframework/issues/3565) 인 것 같습니다. 어쩌면 Play 2.4.2로 업그레이드하여 해결되었는지 확인하십시오. –

답변

3

npm으로 일부 테스트 종속성을 가져 오려고 할 때 비슷한 문제가 발생했습니다. 몇 시간 난 그냥 수동으로 디렉토리를 이동 내 build.sbt에서 작업을 작성 결국 해결책을 검색 한 후 : 당신이 사용할 수있는 다음

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

"(가장 좋은 방법이지만 주위에 일을하지 않을 수 있음) get_npm_deps "를 사용하여 npm 기반 종속성을 가져옵니다.