【问题标题】:play 2.3 sbt-concat not working in prod玩 2.3 sbt-concat 在产品中不起作用
【发布时间】:2014-11-27 14:26:03
【问题描述】:

我想用这个插件

addSbtPlugin("net.ground5hark.sbt" % "sbt-concat" % "0.1.8")

连接我的资产。

我有 3 组:

Concat.groups := Seq(
  "concat_main.css" -> group(Seq(
    "stylesheets/bootstrap.min.css",
    "stylesheets/font-awesome.css",
    "stylesheets/totem/sidebar/component.css",
    "stylesheets/main.min.css"
  )),
  "concat_main.js" -> group(Seq(
    "javascripts/jquery-2.1.0.min.js",
    "javascripts/bootstrap.min.js",
    "javascripts/totemPage/sidebar/modernizr.custom.js",
    "javascripts/totemPage/respond.min.js",
    "javascripts/totemPage/html5shiv.js",
    "javascripts/totemPage/sidebar/classie.js",
    "javascripts/main.js"
  )),
  "concat_noel.js" -> group(Seq(
    "javascripts/totemPage/ouibounce-modal.js",
    "javascripts/ouibounce_modal.js",
    "javascripts/homePage.js",
    "javascripts/totemPage/jquery.cookie.js",
    "javascripts/embed.js"
  ))
)

Concat.parentDir := "public/main/javascripts"

pipelineStages in Assets := Seq(concat, uglify, digest, gzip)

文件在dev中生成,我可以访问

<link rel="stylesheet" href="@routes.Assets.versioned("javascripts/concat_main.css")">
<script src="@routes.Assets.versioned("javascripts/concat_main.js")" type="text/javascript"></script>

但是activator start 我有一个 404。

【问题讨论】:

    标签: playframework-2.3 sbt-web sbt-concat


    【解决方案1】:

    在sbt-web documentation,您可以阅读:

    如果您对 pipelineStages 中生成的资产有一些需求 您的开发环境(在播放运行期间),然后您可以范围 pipelineStages 到资产配置。

    资产中的管道阶段:= Seq(myPipelineTask)

    这就是您所做的,将pipelineStages 键设置为资产配置。但是,这仅适用于开发模式。为了在生产模式下运行管道,您必须将pipelineStages 键范围设置为全局配置。在您的情况下,这将如下所示:

    pipelineStages := Seq(concat, uglify, digest, gzip)
    

    【讨论】:

    • 我相信有些人会不同意,但这并不是很直观。在整个 SBT 项目中使用范围界定似乎(至少对我而言)是特殊的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2017-06-06
    相关资源
    最近更新 更多