代码之家  ›  专栏  ›  技术社区  ›  Al Fahad Anjan Kumar GJ

当我们已经在平均值堆栈中学习角度时,是否需要在Express中学习视图和模板引擎?

  •  0
  • Al Fahad Anjan Kumar GJ  · 技术社区  · 6 年前

    我在学习刻薄的东西。我从学习angular开始(从angular.io),现在我学习node.js和express.js。

    我的问题是,如果有的话 角度的 对于平均堆栈中的前端,那么为什么 视图和模板引擎 在后端的Express.js中?它们是相互替代还是相互补充?这两个角色和责任的界限是什么?

    我期待着有人能帮助我阐明我对角色的概念,这两种技术(表达的观点和角度)在平均值堆栈中使用。

    4 回复  |  直到 6 年前
        1
  •  2
  •   Muhammad Danish    6 年前

    为了回答你的问题,我来解释一下什么是角型的,什么是模板引擎?

    什么是角度?

    Angular是一个平台,可以方便地使用Web构建应用程序。Angular将声明性模板、依赖注入、端到端工具和集成的最佳实践结合起来,以解决开发挑战。Angular使开发人员能够构建生活在Web、移动或桌面上的应用程序。

    什么是模板引擎?

    模板引擎允许您在应用程序中使用静态模板文件。在运行时,模板引擎用实际值替换模板文件中的变量,并将模板转换为发送到客户端的HTML文件。这种方法使设计HTML页面更加容易。

    一些与Express一起使用的流行模板引擎是pug、mustache和ejs。Express应用程序生成器使用Jade作为其默认值,但它还支持其他几个应用程序。

    所以,

    角度是一个框架,其中有一个模板化组件。您可以使用它来创建单页Web应用程序,这意味着在客户端和仅使用服务器数据的应用程序交换上正在进行DOM修改。如果您关心的是模板,那么它是纯HTML。

    反之 每当服务器上每次呈现新页面并向客户端发送请求时,服务器都会将模板引擎呈现的视图发送给客户端,这对于静态站点非常有用,但对于富站点交互则不适用。

    如果平均堆栈中有前端的角度,那么为什么后端Express.js中有视图和模板引擎?

    这是因为并非每次都建议使用Angular生成视图时,有时最好使用模板引擎生成视图并将呈现的页面发送给客户机,在客户机端生成视图有自己的优缺点,在服务器端生成视图也有自己的优缺点。

    使用模板引擎(即在服务器端)生成视图:

    赞成的意见:

    1. 搜索引擎可以对网站进行搜索引擎优化。
    2. 初始页面加载更快。
    3. 非常适合静态站点。

    欺骗:

    1. 频繁的服务器请求。
    2. 整体页面呈现缓慢。
    3. 整页重新加载。
    4. 非富站点交互。

    使用角度引擎(即客户端)生成视图:

    赞成的意见:

    1. 丰富的站点交互
    2. 在初始加载后快速呈现网站。
    3. 非常适合Web应用程序。
    4. 强大的JavaScript库选择。

    欺骗:

    1. 低搜索引擎优化,如果没有正确实施。
    2. 初始负载可能需要更多时间。
    3. 在大多数情况下,需要一个外部库。

    所以,在了解了利弊之后,你自己可以更好地决定在特定情况下哪个对你更有利。Mean Stack为开发人员提供了选项。

    至于你关于这两种技术的作用的问题,Angular只不过是更多的视图生成器,它具有路由、作为服务双向数据绑定等功能,而模板引擎则是为了呈现HTML以便将其发送到客户机。

    我希望你会发现这个答案有用。

    参考文献:

    1. what is the template engine?
    2. what is angular?
    3. pros/cons
        2
  •  2
  •   Malik Asad    6 年前

    Angular是一个成熟的前端框架,它有自己的模板化方法,在HTML中使用特定于Angular的标记。如果您使用Angular作为您的框架,那么您或多或少会被它们在应用程序的Angular部分中的模板化方式所困扰。

    角特征

    • 它是用JavaScript语言编写的框架
    • 管理模型状态
    • 与其他UI工具集成
    • 操作DOM
    • 允许写入自定义HTML代码
    • 它是为了让JavaScript开发人员在短时间内创建动态网页。

    节点

    • 它服务于网络
    • 它是基于Google Chrome中的javascript引擎构建的运行时
    • 它可以被认为是一个轻量级的服务器,可以在更多的
    • 比Java更简单的方法
    • 它执行与数据库、Web套接字的通信操作, 中间件等

    为什么我们使用Angular进行诱惑而不是Express/Node诱惑引擎

    服务器端呈现是在屏幕上显示信息的最常见方法。它的工作原理是将服务器中的HTML文件转换为浏览器的可用信息。

    无论何时访问网站,浏览器都会向包含网站内容的服务器发出请求。请求通常只需要几毫秒,但这最终取决于许多因素:

    • 您的网速
    • 有多少用户试图访问该网站,以及
    • 举几个例子,网站是如何优化的

    处理完请求后,浏览器将返回完全呈现的HTML并将其显示在屏幕上。如果您决定访问网站上的其他页面,您的浏览器将再次请求提供新信息。每次访问浏览器没有缓存版本的页面时,都会出现这种情况。

    如果新页面只有几个不同于当前页面的项目,则无需考虑,浏览器将请求整个新页面,并将重新呈现从一开始的所有内容。

    客户端渲染工作原理

    当开发人员谈论客户端渲染时,他们谈论的是使用JavaScript在浏览器中渲染内容。因此,您不必从HTML文档本身获取所有内容,而是获得一个简单的HTML文档,其中包含一个JavaScript文件,该文件将使用浏览器呈现网站的其余部分。

    这是呈现网站的一种相对较新的方法,直到JavaScript库开始将其纳入其开发风格,它才真正流行起来。

    请参阅此处的示例 practical example

    古拉尔作为您的框架,您或多或少地被它们在应用程序的角度部分中的模板化方式所困扰。

    角度特征

    • 它是用JavaScript语言编写的框架
    • 管理模型状态
    • 与其他UI工具集成
    • 操纵DOM
    • 允许写入自定义HTML代码
    • 它是为了让JavaScript开发人员在短时间内创建动态网页。

    enter image description here

    诺迪斯

    • 它服务于网络
    • 它是基于Google Chrome中的javascript引擎构建的运行时
    • 它可以被认为是一个轻量级的服务器,可以在更多的
    • 比Java更简单的方法
    • 它执行与数据库、Web套接字的通信操作, 中间件等。

    为什么我们使用角度来诱惑而不是表达/节点诱惑引擎

    服务器端呈现是在屏幕上显示信息的最常见方法。它通过将服务器中的HTML文件转换为浏览器的可用信息来工作。

    无论何时访问网站,浏览器都会向包含网站内容的服务器发出请求。请求通常只需要几毫秒,但这最终取决于多种因素:

    • 您的网速
    • 有多少用户试图访问该网站,以及
    • 比如说,网站的优化程度

    处理完请求后,浏览器将返回完全呈现的HTML并将其显示在屏幕上。如果您决定访问网站上的其他页面,您的浏览器将再次请求提供新信息。每次访问浏览器没有缓存版本的页面时都会发生这种情况。

    如果新页面只有几个不同于当前页面的项目,则无需考虑,浏览器将要求整个新页面,并将从头开始重新呈现所有内容。

    客户端渲染的工作原理

    当开发人员谈论客户端渲染时,他们谈论的是使用JavaScript在浏览器中渲染内容。因此,与从HTML文档本身获取所有内容不同,您将获得一个包含JavaScript文件的简单HTML文档,该文件将使用浏览器呈现网站的其余部分。

    这是一种呈现网站的相对较新的方法,直到JavaScript库开始将其合并到其开发风格中,它才真正流行起来。

    请参阅此处的示例 Pratical Example

        3
  •  1
  •   Ganesh Karamala    6 年前

    ExpressJS是一个位于NodeJS HTTP模块之上的Web框架。而AngularJS是一个前端框架,它不依赖于nodejs服务器来运行。在概念上,两者在路由等少数特性上相似,而实现则不同

        4
  •  1
  •   Souvik Dey    6 年前

    基本上,Express中的模板引擎主要用于显示404和其他服务器错误消息。我发现它们非常适合这样的用例。使用模板引擎进行复杂的前端渲染是不好的,并且不是一个好的实践。