Tôi có một nét gì đó đa dự án như sau:Làm thế nào để kết hợp crossProject và dependsOn
lazy val commonSettings = settings(
libraryDependencies ++= Seq(
"ch.qos.logback" % "logback-classic" % "1.1.2",
...
)
lazy val core = (project in file(".")).
settings(commonSettings: _*).
settings(...
)
lazy val web = (project in file("web")).
settings(commonSettings: _*).
settings(...
).dependsOn(core)
Vấn đề là tôi muốn thiết lập các dự án web sử dụng mô hình client/server Scala JS. Vì vậy, tôi cần mở rộng dự án web để sử dụng crossProject để chia thành các phần js/jvm/shared. Nhưng tôi không chắc chắn cách tốt nhất để đạt được điều này. Nếu tôi cố gắng làm một cái gì đó như:
lazy val web = crossProject.
settings(commonSettings: _*).
settings(...
).jsSettings(...
).jvmSettings(...
).dependsOn(core)
tôi nhận được một lỗi biên dịch cho build.scala tôi:
... loại không phù hợp; [lỗi] được tìm thấy: sbt.Project [lỗi] bắt buộc: org.scalajs.sbtplugin.cross.CrossClasspathDependency [lỗi] lazy val web = crossProject.settings(). jsSettings(). jvmSettings(). dependsOn (core) [lỗi]
^
Bạn có thể chia sẻ thông báo lỗi hoàn chỉnh không? Tại sao bạn muốn mở rộng một dự án hiện có? Bạn đã xem ví dụ này chưa (http://www.scala-js.org/api/sbt-scalajs/0.6.1/index.html#org.scalajs.sbtplugin.cross.CrossProject)? – marios
Ngược lại, bạn có thể muốn biến 'core' thành một dự án chéo và để' web' trở thành một dự án bình thường với '.enablePlugins (ScalaJSPlugin)'. – sjrd