相关疑难解决方法(0)

你如何在nodejs中实际运行scalajs代码?

我正在开发一个后端聊天服务器.它目前写在凌乱的回调JavaScript中,所以我正在考虑将其移植到scalajs.

我一直在查看初学者的指南,但我找不到如何将项目实际编译为单个javascript文件,我可以使用node(例如node ./target/scala_2.11/my-project.js)运行.

如何编译可以作为节点程序直接运行的单个文件,而不是在浏览器中?

我的代码不可能更简单:

package example

import scala.scalajs.js
import js.Dynamic.{ global => g }

object ScalaJSExample extends js.JSApp {
  def main(): Unit = {
    g.console.log("*** Did something ***")
    println("Trying to print something...")
  }
}
Run Code Online (Sandbox Code Playgroud)

sbt run 正确打印:

*** Did something ***
Trying to print something...
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时sbt fullOptJS,node ./target/scala-2.11/example-opt.js没有任何东西打印到控制台.

node.js scala.js

3
推荐指数
1
解决办法
666
查看次数

Scala.js:如何在Webworker中访问self

所以我有一个网络工作者:

package pWorker    
import scala.scalajs.js._
import org.scalajs.dom._

object WorkScript extends scala.scalajs.js.JSApp
{
  def main(): Unit =  
  {
    val x = 4
    val y = 8
    val z = x + y
    println("Worker x + y =" -- z.toString)      
  }
}
Run Code Online (Sandbox Code Playgroud)

从主JavaScript线程启动时,worker会根据需要打印到控制台.但我无法找到一种方法来称呼相应的:

self.addEventListener('message', function(e) {}
self.postMessage(e.data);
Run Code Online (Sandbox Code Playgroud)

我会从一个直接的Javascript文件调用.

scala.js

2
推荐指数
1
解决办法
253
查看次数

标签 统计

scala.js ×2

node.js ×1