2015-12-27 2 views
2

Я использую спрей для создания одностраничного приложения и не могу получить sbt-web для обработки каких-либо из моих входов. Я начал с WebJars, потому что, https://github.com/sbt/sbt-web/blob/master/README.md говорит:Минимальный sbt-web конвейер без воспроизведения

Одна последняя вещь, в отношении папок государственных и общественно-тест ... любой WebJar зависело от проекта будет автоматически извлекаются в эти папки например цель/веб/открытый/Библиотека/JQuery/jquery.js.

Однако в целевой папке я не вижу такой «веб-папки». Я подумал, что, возможно, WebJars был слишком сложным для примера, поэтому я вместо этого добавил файл jquery.js в корень папки с ресурсами и настроил sbt-uglify, чтобы выполнить некоторую обработку. Тем не менее, я не вижу никаких доказательств того, что SbtWeb работает. Я запустил sbt --debug clean run и grepped вывод для любого вывода из SbtWeb или Uglify, но никаких ошибок или предупреждений и не могу найти что-либо по SbtWeb или Uglify. Просто признание того, что это, кажется, "вывести" плагины:

[debug] deducing auto plugins based on known facts [debug] :: sorting:: found: 
... 
[debug] :: sorted deduced result: List(sbt.plugins.CorePlugin, com.typesafe.sbt.web.SbtWeb, com.typesafe.sbt.jse.SbtJsEngine, net.ground5hark.sbt.concat.SbtConcat, sbt.plugins.IvyPlugin, com.typesafe.sbt.jse.SbtJsTask, sbt.plugins.JvmPlugin, com.typesafe.sbt.uglify.SbtUglify, sbt.plugins.JUnitXmlReportPlugin) 

Вот моя структура каталогов:

./build.sbt 
./project/plugins.sbt 
./src/main/assets/js/jquery.js 
./src/main/resources/html/uikit/login.html 
./src/main/scala/Boot.scala 
./src/main/scala/main.scala 

Вот мой проект/plugins.sbt:

resolvers += Resolver.sonatypeRepo("releases") 

addSbtPlugin("com.typesafe.sbt" % "sbt-web" % "1.0.2") 
addSbtPlugin("net.ground5hark.sbt" % "sbt-concat" % "0.1.8") 
addSbtPlugin("com.typesafe.sbt" % "sbt-uglify" % "1.0.3") 

Вот мой ./build.sbt:

organization := "com.test123.spray" 

version  := "0.1" 

scalaVersion := "2.11.6" 

scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8") 

libraryDependencies ++= { 
    val akkaV = "2.3.9" 
    val sprayV = "1.3.3" 
    Seq(
    "io.spray"   %% "spray-can"  % sprayV, 
    "io.spray"   %% "spray-routing" % sprayV, 
    "io.spray"   %% "spray-testkit" % sprayV % "test", 
    "com.typesafe.akka" %% "akka-actor" % akkaV, 
    "com.typesafe.akka" %% "akka-testkit" % akkaV % "test", 

    // client side dependencies 
    "org.webjars" % "jquery" % "2.1.4", 
    "org.webjars" % "uikit" % "2.24.2" 

) 
} 

lazy val root = (project.in(file("."))).enablePlugins(SbtWeb) 

pipelineStages := Seq(uglify) 

includeFilter in uglify := GlobFilter("js/*.js") 

Вот что корень моей ./target папки выглядит следующим образом:

resolution-cache/ 
scala-2.11/ 
streams/ 

Нет ./target/web папки. Любые идеи почему?

Ссылки:

ответ

2

Это будет узнать меня. Я использовал старую версию sbt-web. Когда я обновляю его до последней версии, он работает так, как ожидалось.

Урок не копировать/вставлять фрагменты, как это:

addSbtPlugin ("com.typesafe.sbt" % "SBT-веб" % "1.0.2")

из Интернета. Но, скорее, чтобы найти самую последнюю версию, вручную, с помощью одного из следующих способов:

  1. Если GitHub (и др) страницы есть «Строить Передача» значок, нажмите на него, чтобы перейти на сервер сборки где перечислены последние версии.
  2. Посмотрите на ветки в GitHub
  3. Посмотрите, можете ли вы перейти в хранилище для зависимостей, таких как Maven Central, и просмотреть там. Мне не повезло с этим. Проблема в том, что я знал, что это не на Maven, и не знал, где еще искать.
  4. подключи в некоторой фиктивной версии в SBT, и посмотрите на результат для того, где SBT пытался выглядеть и не удалось:

    [warn] module not found: com.typesafe.sbt#sbt-web;3.1.2 
    [warn] ==== typesafe-ivy-releases: tried 
    [warn] http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-web/scala_2.10/sbt_0.13/3.1.2/ivys/ivy.xml 
    [warn] ==== sbt-plugin-releases: tried 
    [warn] http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-web/scala_2.10/sbt_0.13/3.1.2/ivys/ivy.xml 
    

Я уверен, есть более эффективные способы, чтобы найти самые последние версии вещи, о которых я просто не знаю. Для тех более опытных, чем я, пожалуйста, прокомментируйте это лучше.

Смежные вопросы