如何在 scalajs 中使用 showdown.js?

how to use showdown.js in scalajs?

我想在我的 scalajs 项目中使用 showdown.js 库。
我如何使用 scalajs 替换 javascript 代码:

var converter = new showdown.Converter(),
    text      = '#hello, markdown!',
    html      = converter.makeHtml(text);

我找到了 jsDependencies += "org.webjars.bower" % "github-com-showdownjs-showdown" % "1.4.3" / "1.4.3/showdown.js" commonJSName "Showdown" 的依赖项,但这还不够。我应该写一个 js.native 绑定到 scala.js document 中引用的库吗?

欢迎举个例子!谢谢

您确实应该为该库编写一个 @js.native 绑定,除非您找到一个已发布的库为您完成此操作。

对于您展示的小示例,绑定将如下所示:

@js.native
@JSGlobal("showdown.Converter")
class Converter extends js.Object {
  def makeHtml(text: String): String = js.native
}

然后允许你写

val converter = new Converter()
val text = "#hello, markdown!"
val html = converter.makeHtml(text)