Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AngularJS和NodeJS中的视图模板引擎在概念上有什么区别?_Node.js_Angularjs_Ejs - Fatal编程技术网

Node.js AngularJS和NodeJS中的视图模板引擎在概念上有什么区别?

Node.js AngularJS和NodeJS中的视图模板引擎在概念上有什么区别?,node.js,angularjs,ejs,Node.js,Angularjs,Ejs,我很难区分视图模板引擎,比如EJS和AngularJS。我确实理解视图模板引擎背后的概念,但我认为角度是基本相同的。在使用IntelliJ构建项目时,它为我提供了制作express提供的应用程序结构和选择视图模板引擎的机会。因为我对HTML语法不感兴趣,所以我选择了EJS而不是Jade。现在,由于我有更多的用户角色,我需要根据用户的角色更改视图。我尝试使用带有控制流的EJS(如果有),但发现EJS上的文档非常差。这就是为什么我决定检查AngularJS,因为我所有的同事都在使用它 据我所知,到目

我很难区分视图模板引擎,比如EJS和AngularJS。我确实理解视图模板引擎背后的概念,但我认为角度是基本相同的。在使用IntelliJ构建项目时,它为我提供了制作express提供的应用程序结构和选择视图模板引擎的机会。因为我对HTML语法不感兴趣,所以我选择了EJS而不是Jade。现在,由于我有更多的用户角色,我需要根据用户的角色更改视图。我尝试使用带有控制流的EJS(如果有),但发现EJS上的文档非常差。这就是为什么我决定检查AngularJS,因为我所有的同事都在使用它

据我所知,到目前为止,我将在AngularJS中使用控制器,它可以控制视图的外观以及应该填充哪些数据

使用AngularJS时我需要视图模板引擎吗?有什么好处吗

我的代码使用了
路由
,现在看起来像这样:

/* GET /register page. */
router.get('/', function(req, res) {
    res.render('enter.html');
});
(我已经做了.html扩展,用EJS呈现)


因此,我不再使用res.render(),而是使用AngularJS支持的控制器和视图?

根据我使用AngularJS的经验,您的web服务器会公开API并提供静态文件,仅此而已。无需通过服务器端处理构造HTML响应,只需为应用程序所需的数据提供服务。我倾向于认为我的Angular客户端与任何其他客户端(iOS、Android等)一样与后端断开连接。

您可以将Express.js视为服务器端应用程序或服务器,它侦听客户端请求,组装html页面并将其作为回复发送给客户端。类似于PHP世界中的Codeigniter。您可以使用纯HTML,也可以使用Jade或其他模板语言


另一方面,AngularJs是客户端技术。您可以使用它来创建所谓的单一web应用程序,这意味着DOM修改正在客户端进行,应用程序交换仅使用服务器数据。如果您关心的是模板,那么它就是纯html。

真正的区别在于技术范围

模板引擎:您仅在需要与逻辑建立关系时使用此工具。例如:是否需要在视图中放置带有变量的数字。您可以使用express“玩”变量,并决定何时将其放入视图中。基本上就是一切。 根据模板引擎的不同,实用程序可能会有所不同


AngularJS-Angular:当您需要一个健壮的项目时,可以使用它。角度是一个框架;也就是说,AngularJS提供了一组已定义的实用程序,您可以更轻松地进行路由器、服务调用、双向数据绑定,并定义一个项目原型,该原型可以是AngularJS的MVW或基于AngularJS组件的ArquitArchitecture。

一个关键区别是每个组件的典型环境。AngularJS是客户端模板呈现,而Express是服务器端模板呈现。不过,存在一些重叠的可能性(这两种环境都有EJS的变体)。@JonathanLonowski,所以实际上,我需要确定要在模板引擎中显示哪个视图以及视图的哪些部分,而其他客户端动态部分,如管理选项卡和一些javascript视图验证应该用AngularJS编写?