现在正在使用js全栈开发一个基于socket和electron的开源的评分系统,前端使用的是vue技术栈,开发进行了一小部分了,踩了很多坑,现在一一道来
跨域问题:
因为electron是客户端,所以跨域问题不可避免,一开始我觉得后台配一下就可以了,反正我只打算使用http请求开发注册模块,其余的都交给socket来做,后台配置如下:
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("Access-Control-Allow-Credentials", true);
res.header("X-Powered-By",' 3.2.1')
if(req.method=="OPTIONS") res.send(200);/*让options请求快速返回*/
else next();
});
这样就解决了跨域问题,然而我还是太年轻。。后来才知道这样虽然可以解决跨域,但是没法传session,因为跨域请求默认不带cookie。。这就尴尬了,必须要前