如何将Scala.js应用程序转换为CommonJS模块?

6
有没有标准的方法可以在CommonJS环境中使用Scala.js应用程序作为库?如果没有,我可以修改生成的js文件以实现这个目的吗?
1个回答

11

Scala.js 0.6.13及以后版本

将以下内容加入您的构建文件中:

scalaJSModuleKind := ModuleKind.CommonJSModule

Scala.js 0.6.5 升级至 0.6.12

将以下内容添加到您的构建文件中(详见下文解释):

scalaJSOutputWrapper := ("var __ScalaJSEnv = { exportsNamespace: exports };", "")

Scala.js 0.5.4 升级到 0.6.4

你可以告诉 Scala.js 导出的内容应该被发送到哪里。要创建一个 CommonJS 模块,只需要在前面添加以下代码:

var __ScalaJSEnv = {
   exportsNamespace: exports
};

升级 Scala.js 版本至 0.5.4 或以上,以获得由 fastOptJS/fullOptJS 生成的 .js 文件。

Scala.js 0.5.4 之前版本

请进行升级 :)


2
从Scala.js 0.6.5开始,这可以通过一行sbt配置自动完成:scalaJSOutputWrapper := ("var __ScalaJSEnv = { exportsNamespace: exports };", "")。它将包含在-fastopt.js-opt.js文件中。 - sjrd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接