与http服务器,websocket和快递的体系结构

我正在尝试使用NodeJs“http-server”,“express”和“web socket”来创build一个网站。 基本上,“http-server”是监听端口“8080”,在“index.html”页面上,我有一个简单的表单来执行login。

这就是我有点卡住了。 其实,我读了这篇文章( https://auth0.com/blog/2014/01/15/auth-with-socket-io ),我试图重现身份validation过程。 所以我试图创build“快速”应用程序来处理“/login”路线,但是,我有一个端口问题。 我无法听到“http-server”使用的端口“8080”,我不能听到另一个端口,因为如果我这样做,我的AJAX调用“/ login”路由将被阻止由CORS系统。

我的目标很简单:我想有一个web服务器提供html / css和javascript文件(这是一个普通的web服务器),但我也想用一个“NodeJs”模块来使用“express”来处理login和websocket其余的沟通。 我看到有可能在同一个端口上使用“ws”和“express”,但我不知道如何通过网站启用AJAXloginfunction。

您可以将快速应用程序托pipe在其他端口上,而不必通过在快速应用程序上设置Access-Control-Allow-Origin标头来运行CORS问题。 您可以使用以下代码自动设置它:

 app.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', 'your origin here'); next(); }); 

该代码需要在路由处理之前。 这样你就可以为你的快速应用程序的每个请求设置标题。