用于创建类似于“scalatags”的Typescript的HTML标记的库

时间:2015-02-28 18:14:25

标签: typescript

我正在寻找一个可以轻松地从打字稿创建HTML标签的库。我和" scalatags"在scala-js中,如果类似的东西可用于打字稿,那就在徘徊。

有问题的库应该以这种方式编写代码:

var paragraph1 = p("Some text");
var paragraph2 = p("Some other text");
var d = div(paragraph1, paragraph2);
document.body.appendChild(d);

1 个答案:

答案 0 :(得分:1)

读者要注意:我对Typescript生态系统很陌生,我偶然发现了这个问题,因为我正在寻找相同的东西。

在我看来JSX是一个等价的库。我不确定你是否可以有效地使用JSX,它是React UI库的一部分。

但是如果你看一下Typescript tutorial的React部分 - 你会看到JSX(.tsx文件)的使用方式与使用Scalatags的方式相同:渲染HTML一种类型安全的方式。

但是,与此同时,JSX与Scalatags非常不同。 Scalatags是在Scala中实现的DSL,然后您可以通过Scala-js使用它。 JSX是一种不同的语言,一种“JavaScript扩展语法” - 您可以通过Typescript以与任何其他Javascript库相同的方式获得类型安全性。

当我自己跟随Typescript React教程时,我正在使用IntelliJ IDEA并获得完整的智能感知支持(完成,查找用法等)。当你犯错误时,打字稿编译器(和IDEA)都会抱怨(错别字) HTML元素的名称,类型问题等。)

编辑Typescript Deep Dive的“非反应JSX”部分似乎暗示可以在没有React的情况下使用JSX。