gpt4 book ai didi

javascript - 将函数导出到 scalajs 中的全局范围

转载 作者:行者123 更新时间:2023-11-28 18:52:03 24 4
gpt4 key购买 nike

关于 scalajs 和 javascript 的问题。

如何将函数标记为纯粹导出到全局范围?

给定顶级包中的 scala 对象

@JSExport
object Foo{
def apply(a: Int, b: Int): String = "bar"+a+b
}

我想将此 scala 代码编译为 javascript,并在全局范围内将此函数命名为 Foo。换句话说,我想要一个与此类似的 JavaScript:

function Foo(a,b) {
return 'bar'+a+b;
}

可以使用scalajs吗?

我正在用javascript编写组件,该组件将从第三方API引用,不受我的影响。这就是为什么我只需要遵循他们的规则并在全局范围内提供 javascript 函数。

最佳答案

现在的解决方案是顶级导出,如现已关闭的问题 #1381 中所述。 - 要使用此功能,请使用 @JSExportTopLevel 标记对象中的函数.

object A {
@JSExportTopLevel("foo")
def foo(x: Int): Int = x + 1
}

<Foo will be available from JavaScript's global namespace>

(有关官方文档,请参阅“导出顶级方法”下的 https://www.scala-js.org/doc/interoperability/export-to-javascript.html。)

关于javascript - 将函数导出到 scalajs 中的全局范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34341198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com