2016-08-31 3 views
0

私は、この問題を解決するために多くの時間を費やしました。私は無限ループの問題を解決しました。私は解決策に近いと感じていますが、いくつかのブロックがあります。バベル・ピロピュラで再生するためにSbtを設定する

アクティベータを実行すると、トランスペラレータは新しいmain.jsを生成し、システムは新しい変更を検出します。それで、それはもうひとつの透明感があります。それは何度も繰り返し起こります。私はデフォルトのtranspilerの走を防止するために、

excludeFilter in (Assets, JshintKeys.jshint) := "*.js" 

ラインを追加しました

name := """angular-seed-play-java""" 
version := "1.0-SNAPSHOT" 

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

JsEngineKeys.engineType := JsEngineKeys.EngineType.Node 
scalaVersion := "2.10.5" 

libraryDependencies ++= Seq(
    "mysql" % "mysql-connector-java" % "6.0.3", 
    "org.webjars" % "angularjs" % "1.3.0-beta.2", 
    "org.webjars.npm" % "systemjs" % "0.19.36", 
    "org.webjars" % "jquery" % "3.1.0" 
) 

routesGenerator := InjectedRoutesGenerator 

val browserifyOutputDir = settingKey[File]("Browserify output directory") 
browserifyOutputDir := baseDirectory.value/"public"/"js" 

excludeFilter in (Assets, JshintKeys.jshint) := "*.js" 

sourceGenerators in Assets += task[Seq[File]] { 
    val outputFile = browserifyOutputDir.value/"main.js" 
    "browserify -t [ babelify --presets [ latest ] ] " + baseDirectory.value + "/public/js/main.jsx -o "+outputFile.getPath !; 
    List(outputFile) 
} 

pipelineStages := Seq(rjs, digest, gzip) 

は、ここに私のbuild.sbtです。またそれがなければ別のエラーが発生します。ここで

は私のプロジェクトでのラインである/ plugins.sbt

addSbtPlugin("io.teamscala.sbt" % "sbt-babeljs" % "1.0.3") 

は、正直なところ、私は、SBT帳oを半分読んだが、私は鋼鉄、このツールを使用して快適に感じることはありません。

答えて

0

あなたのSBTファイルを読んだことは、入力と出力が同じディレクトリを使用しているように見えます。私はこのディレクトリがsourceDirectoriesにあると思われます。そのディレクトリ内のファイルを更新することによって、タスクはダーティとマークされ、あなたが言うように、無限に再構築されます。

一般的なsbtビルドでは、ソースファイルと生成されたファイルが分けられます。純粋なスカラの世界では、ソースはsourceManagedに、通常はtarget/になります。

これ以上何かを見つけたら、この回答を更新します。

関連する問題