Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
Scala scala.js cannot find module js script in sbt build

I'm trying to import a JS Script script.js into a scala program App.scala and use its methods add and divide.

However on running the program, I keep getting the error, Cannot find module 'resources/script.js'.

The sbt main folder structure looks something like below:

../main

  /resources

  -script.js

  /scala/example

  -App.scala

Could you please help me spot the problem?

Thanks in advance!

App.scala:


package example
import scala.scalajs.js
import scala.scalajs.js.annotation._

@js.native
@JSImport("resources/script.js","MyType")
class MyType(var x:Double, var y:Double) extends js.Object {
    ...
}

object Hello extends App {
    work() 

    @JSExport
    def work(): Unit = {
    ...
    }
}

script.js:

class MyType {
    constructor(x, y) {
      ...
    }

    add(z){
      ...
    }

    divide(z){
       ...
    }
};

module.exports = {MyType};

plugins.sbt:


addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.10.0")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0")

build.sbt:


import Dependencies._
import org.scalajs.linker.interface.ModuleInitializer

ThisBuild / scalaVersion     := "2.13.8"
ThisBuild / version          := "0.1.0-SNAPSHOT"
ThisBuild / organization     := "com.example"
ThisBuild / organizationName := "example"

lazy val root = (project in file("."))
  .settings(
    name := "add",
    libraryDependencies += scalaTest % Test
  )

enablePlugins(ScalaJSPlugin)
scalaJSUseMainModuleInitializer := true

// ECMAScript
scalaJSLinkerConfig ~= { _.withModuleKind(ModuleKind.ESModule) }
// CommonJS
scalaJSLinkerConfig ~= { _.withModuleKind(ModuleKind.CommonJSModule) }

// See https://www.scala-sbt.org/1.x/docs/Using-Sonatype.html for instructions on how to publish to Sonatype.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda