如何将ExpressJS服务器与Angular2集成

时间:2016-10-20 21:21:08

标签: node.js express angular

我尝试使用NodeJS(Express)创建一个angular2应用程序作为服务器。 问题是Express存在冲突,因为Express尝试使用自己的模板引擎并路由请求,而angular也使用routes和index.html作为入口点。

我如何整合两者?

1 个答案:

答案 0 :(得分:14)

通常,NodeJS / Express将用于为具有Angular可以使用的端点的API提供服务。 NodeJS只是一个后端,Angular只是一个前端。

虽然可以从NodeJS服务器提供Angular ,但由于大多数Angular站点都是静态的,因此浪费资源。也就是说,他们可以通过S3或FTP提供javascript,CSS和图像,并通过服务获取所有动态内容(来自Twitter的推文,来自S3存储桶的图像,来自自定义NodeJS后端的数据等)。 )。换句话说,不需要动态服务器端渲染。

我强烈建议保持这种方法。在像S3这样的静态存储主机上托管您的Angular应用程序,并使用NodeJS创建REST API,您的应用程序可以通过Angular服务进行通信。发送GET个请求以获取JSON数据。获取生成的JSON数据并使用它来填充您的应用程序。发送POSTPUTDELETE请求以添加或操作数据(假设您计划拥有后端数据库)。

通常在您的域上显示的方式是http://yourdomain.com指向您的Angular应用。然后,您的角度应用会调用指向您的Node API的http://yourdomain.com/api/http://api.yourdomain.com。您可以将DNS配置为执行其中任一,而无需代码中对物理子目录的需求。