Подтвердить что ты не робот

Не удается заставить sbt-web работать с npm для внешних зависимостей

Я пытаюсь использовать sbt-web и sbt-js-engine, в частности, для разрешения моих зависимостей с npm вместо webjars.

Моя проблема заключается в том, что зависимости не копируются в папку target/web/public/main/lib во время задачи web-stage, так как в этом случае используется webjar.

Я использовал образец проекта из sbt-js-engine, чтобы выполнить мои тесты. В этом проекте я ожидаю найти зависимость console-browserify от файла package.json в папке target/web/public/main/lib, но это не так.

enter image description here

Может, я что-то совсем не понимаю?

4b9b3361

Ответ 1

У меня была аналогичная проблема, когда я пыталась вытащить некоторые тестовые зависимости с помощью 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