How to invoke nodejs modules from scala.js?

后端 未结 1 1201
时光取名叫无心
时光取名叫无心 2021-02-08 01:39

I\'m trying to use scala.js + nw.js to write some application, and will use some node modules in scala.js. But I\'m not sure how to do it.

Say, there is module fs<

1条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-02-08 02:32

    Using js.Dynamic and js.DynamicImplits (see also a longer answer on the topic), you can transliterate your code in Scala.js:

    import scala.scalajs.js
    import js.Dynamic.{global => g}
    import js.DynamicImplicits._
    
    val fs = g.require("fs")
    fs.writeFile("/tmp/test", "Hey there!", { (err: js.Dynamic) =>
      if (err)
        console.log(err)
      else
        console.log("The file was saved!")
    })
    

    You can find a longer source code using the Node.js fs module in Scala.js here: https://github.com/scala-js/scala-js/blob/v0.6.0/tools/js/src/main/scala/org/scalajs/core/tools/io/NodeVirtualFiles.scala

    0 讨论(0)
提交回复
热议问题