Angular 2或NodeJs / Express用于大型项目

我不确定Angular 2与NodeJs / Express站在哪里。 做angular度和节点一起工作,或者你只能使用其中的一个Web项目?

Angular允许您构build完整的Web应用程序而不需要Node.js

没有Node.js和expression式,你将需要整理一个Web服务器。 如果您有偏好,您可以使用Apache,Nginx或其他。

但是,如果您正在寻找创build后端或API的前端,那么您可以引入Node.js并开发API。 但是,您可以使用其他框架或工具。

你也可以使用一些Node模块和一个构build工具(例如Grunt)来优化你的前端资产,比如CSS,JS,Images等等。这样可以让你更好地控制构build之后提供给客户端的静态资产的状态完成。

总之,您可以使用Angular构build一个完整的Web应用程序,而不需要Node.js,但是Node将允许您对项目资源拥有更多的控制权,并且如果您愿意的话,将允许您创build支持前端的单独应用程序。

不,angular和节点是不同的Angular是一个非常强大的前端框架,让你在客户端使用MVC结构,而Node.js是在服务器端的Javascript的实现,让你做“积极”的服务器节点,你可以做asynchronous任务,不仅可以生成带有脚本的网页,例如websocket是一个很好的例子,在PHP中你不能这样做)。

但是,这对于Web应用程序来说是一个很好的解决scheme,因为它们都使用Javascript,并使用本地Json来请求。

但是目前,我正在使用angular2在客户端的PHP项目。 由于MVC结构,它比jQuery或其他框架更好,但是当你使用它与PHP,你必须作出一些安排(例如,当你发送angular度的POST请求,数据编码与JSON,一个PHP不明白:所以我在我的客户端使用一个函数,将JSON对象转换为一个简单的urlEncodedstring…)

我希望我回答你的问题,

文森特

Angular 2用于前端代码,Node通常用于后端。

然而,节点可以用来服务于前端。 (大多数人不知道这个或忘记它)。 有些人还使用Node作为任务运行者来缩小客户端代码,预处理客户端代码等

例如,使用节点,您可以将LESS或SASS或STYLUS文件即时转换为CSS文件,然后将CSS文件传送到您的浏览器。

实时重新加载对CSS或代码更改执行实时更新,而不需要执行浏览器刷新。

任务运行者可以自动注入Bower脚本依赖关系。 Grunt和Gulp简化了服务于客户端代码的stream程的任务运行者。

显然,在生产环境中,你不会使用任务运行器。 任务运动员是为了开发目的或为了构build目的。

我们使用Node的Gulp在开发环境中提供服务。 我们也使用Gulp来build造。 但在生产中,我们通过NGINX提供静态构build生成的文件。

所有这一切的缺点是努力获得良好的pipe道。