无法让sbt-web与npm一起使用前端依赖项

时间:2015-02-01 16:42:15

标签: playframework-2.3 sbt-web

我尝试使用sbt-web和sbt-js-engine来解决我与npm而不是webjars的依赖关系。

我的问题是,在target/web/public/main/lib任务期间,依赖关系不会复制到web-stage文件夹中,就像使用webjar一样。

我使用sample project from sbt-js-engine进行测试。在这个项目中,我希望从console-browserify文件夹中的package.json文件中找到target/web/public/main/lib依赖项,但事实并非如此。

enter image description here

也许我完全误解了什么?

1 个答案:

答案 0 :(得分:4)

在尝试使用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的依赖