使用sbt-rjs与play和sbt run

时间:2017-06-06 22:23:09

标签: playframework requirejs sbt

我正在使用Play 2.3.4,并且我已经开始处理一个维护得非常糟糕的应用程序(一个文件控制器和js文件,没有额外的类)。

我想开始使用requirejs,但我开始时遇到了很多问题。

我计划每个模块有一个文件(带有require(...))。像这样:

app/assets/javascript/module1/index.js
app/assets/javascript/module2/index.js
app/assets/javascript/module3/index.js
  1. 第一个问题:如果我有多个主要模块,我应该设置什么(它查找我没有的/app/assets/javasctipt/main.js):

    RjsKeys.mainModule := "..."    
    RjsKeys.modules += JS.Object(...
    
  2. 如何在运行'sbt run'时启用sbt-rjs优化(我可以看到启动sbt start时运行优化),但是当我启动运行时却没有(同时应用程序会获取原始的.js文件)我认为没有最小化的.js文件。)

  3. 我的plugins.sbt看起来像这样:

    resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
    
    addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.4")
    
    addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
    
    addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0")
    
    addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.8")
    
    addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
    
    addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.0.0")
    
    addSbtPlugin("io.teamscala.sbt" % "sbt-babel" % "1.1.0")
    

    我的build.sbt看起来像这样:

    name := "ble"
    
    version := "1.0-SNAPSHOT"
    
    lazy val root = (project in file(".")).enablePlugins(PlayJava,SbtWeb)
    
    scalaVersion := "2.11.1"
    
    libraryDependencies ++= Seq(
      javaJdbc,
      javaEbean,
      cache,
      javaWs,
      filters,
      "org.webjars" % "rjs" % "2.2.0",
      "mysql" % "mysql-connector-java" % "5.1.32",
      "be.objectify" %% "deadbolt-java" % "2.3.1",
      "commons-io" % "commons-io" % "2.4"
    )
    
    pipelineStages := Seq(rjs, digest)
    

    感谢您的帮助!

0 个答案:

没有答案