我尝试使用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
依赖项,但事实并非如此。
也许我完全误解了什么?
答案 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的依赖