创建Scala.js库——将Scala链接到Javascript

Creating a Scala.js Library - linking the Scala to the Javascript

本文关键字:Scala Javascript 链接 创建 js      更新时间:2023-09-26

我正在尝试编写一个可以在Scala.js中工作的新库。我已经用Javascript编写了一些类和方法的实现。我如何设置它,以便用户可以在Scala.js (Scala)中编码?

我看过一些Scala.js库在GitHub上,但这些不显示Javascript代码;它们看起来都是。scala文件。

那么如何为Scala.js创建一个新的库呢?

Edit:库的主代码必须用Javascript编写,因为它利用了Javascript音频api。

有点同意@sjrd的评论,应该可以直接在Scala.js中编写针对JavaScript的API(参见从Scala.js调用JavaScript)。

或者,也有可能"导入"或将现有的JavaScript代码转换为Scala.js。

  1. 将JavaScript文件转换为TypeScript,首先将文件扩展名从'.js'更改为'.ts'。
  2. 处理TypeScript文件使用@sjrd的(!)将在#1中创建的文件转换为有效的Scala[JS]文件。TypeScript-to-ScalaJS进口商@ Github.
  3. 最后,使用'.scala'来开发Scala.js代码。#2生成的文件

由于TypeScript是JavaScript的强类型超集,单独更改扩展名可能就足够了——否则,在运行和失败的第2步之后,你可能需要改进你的TypeScript库,这篇文章,"如何用TypeScript编译器编译普通的*.js (JavaScript)文件",应该会有所帮助。

'DefinitelyTyped'代码库@ Github包含了一组更新为TypeScript的JavaScript库,webaudio API就是其中之一(所以它可以通过上面列出的一些过程在Scala.JS中转换和使用)。

还没有[还]亲自测试过这个,在愤怒中,我对你是否从这个工具集/过程中得到任何里程感兴趣

下面是一些额外的TypeScript资源:

http://en.wikipedia.org/wiki/TypeScript
http://www.sitepen.com/blog/2013/12/31/definitive-guide-to-typescript