如何从scala.js调用nodejs模块?
我正在尝试使用scala.js + nw.js来编写一些应用程序,并将在scala.js中使用一些节点模块。 但我不知道该怎么做。
说,有模块fs
,我可以用Javascript编写这样的代码:
var fs = require('fs'); fs.writeFile("/tmp/test", "Hey there!", function(err) { if(err) { console.log(err); } else { console.log("The file was saved!"); } });
但是如何在scala.js中从头开始呢?
使用js.Dynamic
和js.DynamicImplits
(另请参阅关于主题的更长的答案 ),您可以在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!") })
您可以使用Scala.js中的Node.js fs
模块find更长的源代码: https : //github.com/scala-js/scala-js/blob/v0.6.0/tools/js/src/main/斯卡拉/组织/ scalajs /核心/工具/ IO / NodeVirtualFiles.scala