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

2024-04-08

我正在开发一个后端聊天服务器。它目前是用混乱的回调 javascript 编写的,所以我正在考虑将其移植到 scalajs。

我一直在浏览初学者指南,但我找不到如何将项目实际编译为可以使用节点运行的单个 JavaScript 文件(例如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...")
  }
}

sbt run正确打印:

*** Did something ***
Trying to print something...

但当我跑步时sbt fullOptJS进而node ./target/scala-2.11/example-opt.js控制台上没有打印任何内容。


The example-opt.js不包含实际使用的一行 JavaScriptlaunch代码。它仅定义example.ScalaJSExample().main()作为一个函数,但它不call it.

让它自动调用该函数的一个简单方法是指示 sbt 将调用添加到.js具有此 sbt 设置的文件:

scalaJSOutputWrapper := ("", "example.ScalaJSExample().main();")

这将允许您只调用

node ./target/scala-2.11/example-opt.js
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Nodejs 中实际运行 scalajs 代码? 的相关文章

随机推荐

  • 通过 Django Channels 和 Websockets 将实时更新推送到客户端

    我正在尝试制作一个向客户端显示实时更新数据的页面 该网站的其余部分是使用 Django 构建的 因此我尝试使用 Channels 来实现此目的 我显示的数据保存在 JSON 文件和 MySQL 数据库中 以便在网站的其他部分进行进一步计算
  • 无法删除嵌入式数据库的 Derby 系统目录

    我无法删除系统目录 https db apache org derby docs 10 3 tuning rtunproper32066 html对 Windows 计算机上的 Derby Embedded 数据库调用 shutdown t
  • Arraylist 是类型安全的还是强类型的?

    我不知道 强类型 和 类型安全 之间到底有什么区别 您能用简单的语言解释一下吗 假设我们使用 Arraylist 但我无法断定它是类型安全的还是强类型的 或者我们可以同时使用它吗 An ArrayList不是类型安全的 这意味着什么Arra
  • 在 .NET CORE MVC 6 应用程序中调试未命中断点

    我正在开发 NET CORE 1 0 MVC 6 应用程序 并且我坚持使用调试点 因为它昨天停止了 经过多次尝试 我删除了项目并重新开始 第一次加载符号时 即使我在工具 gt 调试 gt 符号中取消选中 但它遇到了断点 现在 如果我选择 仅
  • R 箭头:错误:未构建对编解码器“snappy”的支持

    我一直用的是最新的R arrow包裹 arrow 2 0 0 20201106 支持直接从 AWS S3 读取和写入 这很棒 当我编写和读取自己的文件时 我似乎没有问题 见下文 write parquet iris iris parquet
  • 如何在同一个 MVC3 页面上使用多个具有 AntiForgery 验证的 ajax 表单?

    当我们有不止一种可能的表单可以发布到同一 cshtml 页面上的控制器时 防伪验证不起作用 我们检查了MVC3代码 发现问题出在这部分代码中 if String Equals cookieToken Value formToken Valu
  • Cocoa - 添加视频水印一般信息

    只是寻找如何使用 cocoa 以编程方式向视频添加水印或某种叠加层 不是一步一步地寻找 虽然那会很棒 而是或多或少地寻找我应该从哪里开始学习如何 是否有为此开发的框架 想要一些 cocoa 或 Objective c 或 c 原生的东西 因
  • Bootstrap:如何启用滚动条?

    我在我的一个项目中使用 Twitter Bootstrap 但我遇到了我的内容超出浏览器视图的问题 通常您会在屏幕右侧看到滚动条 但在我的情况下却没有 我在 bootstrap css 文件中搜索后overflow hidden 或类似的东
  • sql 不在使用查询生成器 laravel 的 GROUP BY 中

    I want to take how much amount of data based on the product id taken from the table vote on laravel this query does not
  • 透明或半透明面板控制

    有什么方法可以使面板透明或半透明吗 我还没有找到任何合适的属性来设置面板的透明度 我还尝试制作一个带有网格的 WPF 控件 网格背景和控件背景设置为透明 并将其放置在普通 Windows 窗体上 但是当我将此控件放在普通 Windows 窗
  • 无效的 HTTP 响应代码“0”

    我正在尝试使用一个使用的脚本CPAINT http cpaint sourceforge net 当我单击收藏的项目 5 星级评级系统 时 我不断收到上述错误 看起来它正在发出 AJAX 请求 但我无法从我的 Firebug 中看到这一点来
  • 如何将超过 1000 个值放入 Oracle IN 子句中 [重复]

    这个问题在这里已经有答案了 有什么办法可以绕过 Oracle 10g 静态 IN 子句中 1000 个项目的限制吗 我有一个逗号分隔的许多 ID 列表 我想在 IN 子句中使用这些 ID 有时此列表可能超过 1000 个项目 此时 Orac
  • Kendo Angular 2 网格过滤器不可用

    我正在使用带有 Angular 2 的 Kendo Gridhttp www telerik com kendo angular ui components grid data binding http www telerik com ke
  • 将 AppMutex 与静默 Inno Setup 一起使用

    我在 Inno Setup 脚本中使用 AppMutex 来确保产品在安装更新时不再运行 这基本上工作得很好 但是 当使用 verysilent 命令参数运行此设置时 会显示一个对话框 尽管非常安静 表明程序仍在运行 应该关闭 由于程序本身
  • 如何设置EditText的边框颜色

    我用过这个
  • NodeJS https 服务器使用 Express 返回 ERR_SSL_PROTOCOL_ERROR

    我试图让 SSL https 在我的 Nodejs 服务器上工作 但浏览器返回 ERR SSL PROTOCOL ERROR code var express require express var https require https
  • JSON解析字符串文字中的双引号[重复]

    这个问题在这里已经有答案了 我在解析字符串文字中的引号时遇到问题 var lit foo test 1 bar test 2 在控制台中 这会给出错误 未捕获的异常 我期待 Object foo test 1 bar test 2 这是我的
  • 通过关联属于_to

    鉴于以下关联 我需要参考Question that a Choice是通过从Choice模型 我一直在尝试使用belongs to question through answer来执行此操作 class User has many ques
  • 在 Django 中出现无效图像错误,但 PIL 已安装并通过所有测试

    所以我终于在RHEL5上成功安装了PIL 经历了很多困难 Django 开发版本 和Python 2 6安装在 opt python2 6 运行 selftest py 显示一切似乎都已正确安装 python2 6 selftest py
  • 如何在 Nodejs 中实际运行 scalajs 代码?

    我正在开发一个后端聊天服务器 它目前是用混乱的回调 javascript 编写的 所以我正在考虑将其移植到 scalajs 我一直在浏览初学者指南 但我找不到如何将项目实际编译为可以使用节点运行的单个 JavaScript 文件 例如nod