如何将ExpressJS服务器与Angular2集成

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

我怎样才能整合?

通常情况下,NodeJS / Express将用于为Angular可以使用的端点提供API。 NodeJS只是一个后端,Angular只是一个前端。

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

我强烈build议维护这种方法。 将您的Angular应用程序托pipe在像S3这样的静态存储主机上,并使用NodeJS创buildREST API,您的应用程序可以通过Angular服务进行交stream。 发送GET请求来获取JSON数据。 取得生成的JSON数据,并用它来填充你的应用程序。 发送POSTPUTDELETE请求来添加或操作数据(假设你打算有一个后台数据库)。

这通常表示在您的域名将是http://yourdomain.com指向您的Angular应用程序。 然后,您的angular度应用程序将调用http://yourdomain.com/api/http://api.yourdomain.com这是指向您的节点API。 你可以configuration你的DNS来完成其中的任何一个, 而不需要代码中的物理子目录。