(提供的示例项目)我无法让sbt-concat按照设计来查找和连接由可能从预处理器任务生成的样式产生的样式表.在我的生产应用程序中,我正在尝试使用它来捆绑来自sbt-sass的精选缩小的输出文件.它在该项目的复杂设置中不起作用,因此我创建了一个示例项目,看看我是否可以让它工作.它在示例项目中也不起作用.这是一个测试项目build.sbt,尝试创建几个包,几乎所有我能想到的可能性,只是为了看看它们是否有效(公共Github repo,你应该能够克隆并立即复制问题):
import com.typesafe.sbt.web.Import.WebKeys._
import com.typesafe.sbt.web.pipeline.Pipeline
name := """sbt-concat-test"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala, SbtWeb)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws
)
resolvers += Resolver.sonatypeRepo("releases")
includeFilter in (Assets, LessKeys.less) := "*.less"
excludeFilter in (Assets, LessKeys.less) := "_*.less"
val myPipelineTask = taskKey[Pipeline.Stage]("Some pipeline task")
myPipelineTask := { mappings => println(mappings); mappings }
pipelineStages := Seq(myPipelineTask, concat)
Concat.groups := Seq(
"style-group1.css" -> group(sourceDirectory.value ** "*.css"), …Run Code Online (Sandbox Code Playgroud) 我想使用这个插件
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)
Run Code Online (Sandbox Code Playgroud)
文件是在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>
Run Code Online (Sandbox Code Playgroud)
但是activator start我有一个404.
我正在使用sbt-concat来组合css/js包进行实验.然后我尝试扩展我的管道,以便缩小我的css和js.使用sbt-css-compress相当容易,它可以缩小sbt-concat生成的所有CSS.我为js尝试了sbt-closure,但它似乎不起作用.为了清楚起见,我尝试了sbt-closure,并确认它将以下所有js编译为/ assets.但是,我试图弄清楚它是否适用于sbt-concat.
例如:如果我有/assets/js/f1.js和/assets/js/f2.js并且我想将它们组合并缩小为1个捆绑文件.