首页 文章

在使用Jade模板的Express应用程序中集成Angular有什么好方法?

提问于
浏览
0

我是Node.js的新手,但是我想开始一个新项目,并且想到学习Node-Express框架和MEAN堆栈的好机会 .

令我困惑的是,如果上面提到的堆栈根据定义使用Angular,Express会附带Jade模板(*参见EDIT)引擎 . 事实上,我的理解是,尽管Jade可以与angular一起使用,但这可能是不必要的,可能只是过于复杂(例如参见this question) .

当然我可以看到Express可以独立于这样的堆栈使用,所以也许让我以不同的方式提出问题 .

如果确实没有必要将Jade和Angular结合起来,那么在MEAN堆栈框架中构建Web应用程序时最好的方法是什么?

基本上,如果使用Jade模板生成快速应用程序之后决定他想使用Angular(和Mongo),那么最好的方法是什么?因此,如果一个人开始使用Jade模板,那么回到纯HTML以便使用Angular会更好吗?

这可能只是我在这个领域的无知让我困惑,但一些澄清将非常感激 .

EDIT: 最初的 Headers 是"Why does Express come with Jade if the MEAN stack uses Angular?"但是由于这些评论我意识到用Jade说Express "comes"真的不对,所以我改变了 Headers ,因为我实际上对其他东西感兴趣 .

1 回答

  • 2

    你的整个问题似乎是基于一个错误信息,这使得很难回答 . Express does not come with Jade. 事实上,它没有任何模板引擎 . 您可以使用许多不同的模板引擎,在将它们与Express一起使用之前必须先安装所有这些模板引擎 . Express附带了一个用于插入模板引擎的框架,但没有实际工作的模板引擎 .

    事实上,Express专门设计为“Node.js的快速,独立,极简主义的Web框架”(这些文字直接来自他们的主页) . “unopinionated”意味着它没有与模板的任何特定解决方案捆绑在一起 .

    也许这里混淆的一个原因是Express应用程序生成器使用Jade作为默认值 . Express框架本身不承担任何特定的模板引擎 .

    这两个引用可以帮助您了解如何在Express中注册和使用模板引擎:Using template engines with Expressres.render() documentation .

    MEAN是您可以一起使用的特定技术堆栈的一个特定首字母缩写 . 这绝不是使用Express的唯一方法 .

    node.js模板引擎是构建动态网页的服务器端方式 . 服务器上存在模板,node.js然后组合一些数据,模板和模板引擎来创建HTML页面,然后可以将其传递到浏览器并由浏览器呈现 . Angular是一个客户端引擎,用于构建动态页面(通常是插入数据的页面) . 它通常用于单页面应用程序 . 我建议你阅读What is AngularJS了解更多细节 .

    因此,您似乎对此感到困惑的是构建动态网页的两种不同架构方法 . Angular方法只是一种做事方式,Express并不关心你是以Angular方式还是其他方式来做 . 它可以在任何一种情况下完成它的工作 .

相关问题