我正在寻找一个可以轻松地从打字稿创建HTML标签的库。我和" scalatags"在scala-js中,如果类似的东西可用于打字稿,那就在徘徊。
有问题的库应该以这种方式编写代码:
var paragraph1 = p("Some text");
var paragraph2 = p("Some other text");
var d = div(paragraph1, paragraph2);
document.body.appendChild(d);
答案 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。