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

时间:2014-06-24 14:44:21

标签: javascript scala scala.js

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

我在GitHub上查看了一些Scala.js库,但这些库没有显示Javascript代码;它们似乎都是.scala文件。

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

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

1 个答案:

答案 0 :(得分:1)

有点同意@sjrd的评论,应该可以直接在Scala.js中编写以JavaScript为目标的API(参见Calling JavaScript from Scala.js )。

或者,可能还有可能导入'或将您现有的JavaScript代码转换为Scala.js' .scala'文件采用强类型Scala方式,所以:

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

    由于TypeScript是JavaScript的强类型超集,单独更改扩展名可能就足够了 - 否则,在步骤#2运行和失败后,您可能需要优化TypeScript' d库,这post,'如何使用TypeScript Compiler'编译普通* .js(JavaScript)文件,应该有所帮助。

    'DefinitelyTyped' code repository @ 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