我是整个javascript全栈应用程序的新手,并且对Angular来说是新手,所以我希望有人可以在这里为我提供记录。
为什么在使用AngularJS编写客户端应用程序时需要使用Jade或Handlebars之类的模板框架。
我应该说,我也从未使用过任何这些模板框架。因此,我完全不了解这些优势。但是,例如,当我看一下Handlebars时,它完成了许多与我在Angular中所做的相同的事情,例如循环等。
据我所知,最有意义的是使用适当的HTML在Angular中创建模板,然后对客户端进行所有模板处理,并将其与使用node和mongo的API first方法结合起来。
造成这种混乱的原因是,我在GitHub上找到的许多示例都使用了Jade,这对我来说似乎很不直观。
请开导我,让我挺直。我很乐意向比我了解更多的人学习一些最佳实践。
谢谢
那些 毫无疑问地 在Angular环境中偏爱Jade的人无法理解视图逻辑属于客户端,而业务逻辑属于服务器,正如OP所言。
除非您有充分的理由这样做,否则请勿这样做。 在工程中,具有较少活动部件的系统是更可靠的系统,并且在长期内更易于维护尊重接口边界(客户端/服务器)的系统,因此,如果可能的话,默认使用最简单的体系结构和清晰的分工。如果您有压倒一切的原因,请执行您必须做的事情,但要 警告 您。
最近,我回顾了一些代码,仅通过保持简单性,直接进行Angular模板比在Jade中进行混合要好得多。
除了模板扩展之外,Jade并没有为Angular尚未提供的表带来任何价值。坦白说:使用“偏爱组成而不是继承”(即部分继承)的合理原则,您永远都不 需要 模板可扩展性。Jade比HTML几乎“更容易解析”。它们只是 微不足道的 不同,而Jade则增加了另一个间接级别-最好避免。
对于服务器端模板,有一个有效的专业案例:优化,请记住,过早的优化通常是一件坏事。在性能确实有问题的地方, 并且 您有足够的服务器能力来处理此问题,服务器端模板可以提供帮助。这适用于Twitter和Basecamp之类的产品,其中减少了对服务器的请求,从而抵消了执行大量服务器端工作的成本。
对于Handlebars,不需要替换AngularJS的(令人惊奇的)客户端模板。