使用res.render x res.send

时间:2018-10-14 22:04:40

标签: angularjs node.js ejs

几年前,在实习期间,我有机会与NodeJS和Angular合作。在这个我不了解视图引擎的项目中,我只是使用res.send()并在每个存档中使用Angular。今天,我正在上Udemy的一些课程,其中的老师在视图引擎(例如ejs)中使用res.render()。

通过将res.send与HTML一起使用是否对我不利?使用res.render()通过AngularJS传递档案会更好吗?

我不知道我的疑问是否清楚,换句话说... 当我使用带有或不带有视图引擎的res.render或res.send有什么区别?

1 个答案:

答案 0 :(得分:1)

res.render()用于返回呈现的html文件。

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

Ejs,Jade,Pug是一些视图引擎。

res.send()可用于发送缓冲区,字符串,对象和数组。

res.json()可以专门用于发送JSON数据客户端。

在您的情况下,您只需要将json数据发送到angular。因此,您可以使用res.json()或res.send()。 res.json()具有一些额外的功能来格式化json。

Learn about render function

Learn about template engines

res.send() vs res.json()