T4相当于node.js

我是一个node.js新手。 我需要在运行时产生dynamic的js输出,从静态片段和服务器产生的数据,以及使用服务器数据的控制块。 在DOT NET中,我使用T4来实现这一点,但在我看来,好像所有的node.js模板引擎都只知道如何生成HTML。 有什么T4的node.js的等价物,例如一个可以输出不是HTML的纯文本,并使用服务器控制块?

大多数模板引擎都可以像生成HTML一样轻松生成Javascript。 但在大多数情况下,最好不要dynamic生成Javascript。 相反,使用静态Javascript控制的dynamic生成的数据,如JSON对象embedded您的呈现HTML。

这有几个好处:

  • 安全。 您不太可能无意中产生无效的JavaScript,或者更糟糕的是,将用户生成的内容错误地embedded到脚本中,从而导致您受到XSS攻击。
  • 速度。 你想保持你的静态和dynamic内容分开。 静态内容可以是托pipe在单独的域上的单个编译的Javascript包,其优化用于服务静态内容,并且dynamic内容可以是由node.js服务器产生的相对较小的文件。

我不知道你是否可以在NodeJS中做同样的事情(我认为不是)。

您可以使用服务器和客户端:您可以将静态模板分别返回给客户端和数据,并将其join客户端。 然后,当你需要改变视图中的任何东西(任何types的数据)时,你可以使用dynamic数据和静态模板(或简单地使用任何库,如jQuery来编辑DOM)再次生成它。

你可以用像Moustache.js这样的客户端模板引擎来完成。

我希望我的回答对你有所帮助!

也许Powershell它不是特定于.NET,所以你可以使用它的nodejs? 请参阅https://danielbrannstrom.wordpress.com/2012/01/18/powershell-as-a-t4-text-template-alternative/