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

求mill构建工具搭配Scala 3与Scala.js的示例及解决方案

使用Mill搭配Scala 3和Scala.js的配置指南及问题解决

基础配置示例

Mill原生支持Scala 3与Scala.js的组合,以下是一个最小化的build.sc配置示例:

import mill._
import mill.scalajs._
import mill.scalajs.api.ScalaJSModule

object app extends ScalaJSModule {
  // 指定Scala 3版本
  override def scalaVersion = "3.1.2"
  // 指定与Scala 3兼容的Scala.js版本(需1.6.0及以上)
  override def scalaJSVersion = "1.13.2"

  // 依赖声明(Scala.js核心库)
  override def ivyDeps = Agg(
    ivy"org.scala-js::scalajs-library:${scalaJSVersion()}"
  )
}

解决org.scala-js:scalajs-library_sjs1_3:2.6.0解析失败问题

你遇到的依赖解析失败,核心原因是指定的Scala.js版本与Scala 3不兼容,或版本号错误:

  • 首先,Scala.js并无2.6.0这个稳定版本(当前主流稳定版为1.x系列),且只有Scala.js 1.6.0及以上版本支持Scala 3。你需要将scalaJSVersion改为兼容的版本(比如上述示例中的1.13.2)。
  • 其次,确保依赖声明使用::而非:::,Scala 3下Scala.js库的artifact格式为org.scala-js::scalajs-library:<版本号>,Mill会自动处理sjs1_3的后缀拼接。
  • 最后,若缓存导致依赖残留问题,可执行以下命令清理并重新拉取依赖:
    mill clean
    mill resolve _._ --ivy
    

相关参考

Mill官方文档对ScalaJSModule有详细配置说明,社区也有不少开源项目采用类似配置,核心是保证Scala版本与Scala.js版本的兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:57:11