2015-11-03 73 views
0

这里的依赖是一个https://github.com/jducoeur/bootstrap-datepicker-scalajs文件build.sbt:申报JS在SBT

import SonatypeKeys._ 

sonatypeSettings 

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

name := "Scala.js facade for bootstrap-datepicker" 

normalizedName := "bootstrap-datepicker-facade" 

version := "0.3" 

organization := "org.querki" 

scalaVersion := "2.11.6" 

crossScalaVersions := Seq("2.10.4", "2.11.5") 

libraryDependencies ++= Seq(
    "org.querki" %%% "querki-jsext" % "0.5", 
    "org.scala-js" %%% "scalajs-dom" % "0.8.0", 
    "org.querki" %%% "jquery-facade" % "0.6" 
) 

jsDependencies += "org.webjars" % "bootstrap" % "3.3.4"/"bootstrap.js" minified "bootstrap.min.js" dependsOn "jquery.js" 

jsDependencies += "org.webjars" % "bootstrap-datepicker" % "1.4.0"/"bootstrap-datepicker.js" minified "bootstrap-datepicker.min.js" dependsOn "bootstrap.js" 

jsDependencies in Test += RuntimeDOM 

homepage := Some(url("http://www.querki.net/")) 

licenses += ("MIT License", url("http://www.opensource.org/licenses/mit-license.php")) 

scmInfo := Some(ScmInfo(
    url("https://github.com/jducoeur/bootstrap-datepicker-scalajs"), 
    "scm:git:[email protected]:jducoeur/bootstrap-datepicker-scalajs.git", 
    Some("scm:git:[email protected]:jducoeur/bootstrap-datepicker-scalajs.git"))) 

publishMavenStyle := true 

publishTo := { 
    val nexus = "https://oss.sonatype.org/" 
    if (isSnapshot.value) 
    Some("snapshots" at nexus + "content/repositories/snapshots") 
    else 
    Some("releases" at nexus + "service/local/staging/deploy/maven2") 
} 

pomExtra := (
    <developers> 
    <developer> 
     <id>jducoeur</id> 
     <name>Mark Waks</name> 
     <url>https://github.com/jducoeur/</url> 
    </developer> 
    </developers> 
) 

pomIncludeRepository := { _ => false } 

它定义了两个JS的依赖关系:引导和引导,日期选择器。由于bootstrap-datepicker已经依赖于bootstrap,我们能不能仅仅声明bootstrap-datepicker?

回答

2

这里有不同的依赖关系。一个是WebJars之间的依赖关系,它只是确保下载相关的包。

再就是JS包,这是用来确保他们被装载在正确的顺序进入jsdeps.js文件之间的依赖关系。这种依赖不会自动将其他库包含到最终输出中。

因此,您需要在应用程序中定义所需的所有JS库,并使用dependsOn来确保它们的顺序正确。

+0

只是一个额外注:Scala.js库可包括附加jsDependencies。在上面,你会注意到jsDependency for Bootstrap取决于jquery.js。这是指jsDependency为的jquery.js,这是从jQuery的门面libraryDependency回升。外墙发布他们需要的jsDependencies是很常见的。 –