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

nde*_*rge 12 playframework-2.3 sbt-web

我正在尝试使用sbt-web和sbt-js-engine特别是用npm而不是webjars来解析我的依赖关系.

我的问题是target/web/public/main/libweb-stage任务期间不会将依赖项复制到文件夹中,因为使用webjar就是这种情况.

我使用sbt-js-engine示例项目进行测试.有了这个项目,我希望console-browserifypackage.json文件target/web/public/main/lib夹中的文件中找到依赖项,但事实并非如此.

在此输入图像描述

也许我完全误解了什么?

小智 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")
Run Code Online (Sandbox Code Playgroud)

然后你可以使用“get_npm_deps”来拉入基于 npm 的依赖项