You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sbt-scalajs升级至1.0.0后jsDependencies及/方法不存在报错如何解决

sbt-scalajs 1.0.0版本升级配置调整方案

报错原因

两个报错均由sbt-scalajs 1.x版本的架构调整导致:

  • 0.6.x版本内置的jsDependencies配置项及配套的/资源路径指定语法,在1.0+版本中被从核心插件中移除,拆分到独立的sbt-jsdependencies插件中
  • 原有配置中的scalajs-dom版本也和sbt-scalajs 1.x不兼容,需要同步升级

具体修改步骤

1. 调整plugins.sbt配置

新增独立的sbt-jsdependencies插件依赖:

addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.0")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0")
// 新增以下行
addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.0")

2. 调整build.sbt配置

修改crossProject的JS端配置,启用JSDependencies插件,同时升级scalajs-dom到适配1.x的版本:

// 已注释的import语句不需要恢复,scalajs-crossproject 1.x已经支持自动导入crossProject
val core = crossProject(JSPlatform, JVMPlatform)
  .in(file("core"))
  .settings(commonSettings)
  .settings(
    name := "sjs-test-error",
  )
  // 新增行:为JS端项目启用JSDependencies插件
  .jsEnablePlugins(JSDependenciesPlugin)
  .jsSettings(
    libraryDependencies ++= Seq(
      // 升级scalajs-dom到适配sbt-scalajs 1.x的最低版本
      "org.scala-js" %%% "scalajs-dom" % "1.0.0"
    ),
    jsDependencies ++= Seq(
      "org.webjars.npm" % "viz.js" % "1.7.0" / "1.7.0/viz.js"
    )
  )

其余原有配置保持不变即可。

可选替代方案

如果不需要兼容旧的webjars引入方式,也可以使用官方更推荐的sbt-scalajs-bundler插件直接管理npm依赖,无需依赖webjars和jsdependencies插件。

内容的提问来源于stack exchange,提问作者user51

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 14:06:07