0

我有一个使用 sbt-scalajs-bundler 插件的 scala js 项目。当我运行 webpack 命令时,大多数必要的文件都捆绑到target/scala-2.12/scalajs-bundler/main文件夹中。我已将我的 html 资源(例如 index.html、myproject.css 等)放在我项目的src/main/resources文件夹中。但这些不包含在我的捆绑包中。我应该添加一个 sbt 任务来复制这些文件吗?如果是,我将如何添加这样的任务?

我的 build.sbt 类似于以下内容:

import sbt.addCommandAlias
import scalajsbundler.sbtplugin.ScalaJSBundlerPlugin.autoImport.webpackDevServerPort

enablePlugins(ScalaJSBundlerPlugin)

val scalaJSReactVersion = "1.4.1"
val reactJSVersion = "16.8.6"

lazy val myProject = project.in(file(".")).settings(

    name := "My Project",
    scalaVersion := "2.12.8",

    libraryDependencies ++= Seq(
        "org.scala-js" %%% "scalajs-dom" % "0.9.6",
        "be.doeraene" %%% "scalajs-jquery" % "0.9.4",
        "com.github.japgolly.scalajs-react" %%% "core" % scalaJSReactVersion,
        "com.github.japgolly.scalajs-react" %%% "extra" % scalaJSReactVersion,
        "com.lihaoyi" %%% "scalarx" % "0.4.0"
    ),

    npmDependencies in Compile ++= Seq(
        "react" -> reactJSVersion,
        "react-dom" -> reactJSVersion,
        "bootstrap" -> "4.3.1",
    ),

    scalaJSUseMainModuleInitializer := true,

    webpackDevServerPort := 3000

)

addCommandAlias("serve", ";fastOptJS::startWebpackDevServer;~fastOptJS")
addCommandAlias("devBuild", "fastOptJS::webpack")
addCommandAlias("build", "fullOptJS::webpack")
4

0 回答 0