Vue前后端不同端口的实现方法

网络编程 2025-03-25 03:19www.168986.cn编程入门

今日长沙网络推广带来一篇关于Vue前后端不同端口实现的,希望对大家有所帮助。在数字化时代,前后端分离已成为主流开发模式,而Vue与Node.js的结合更是广泛运用。当我们的前端Vue运行在8080端口,而后端Node.js运行在8085端口时,如何确保数据流通无阻?下面我们来一下。

要解决的是跨域问题。在浏览器向前端服务器发起请求时,由于前后端运行在不同的端口上,浏览器会阻止这次跨域请求,从而引发“No 'Access-Control-Allow-Origin' header is present on the requested resource”错误。这时,我们需要在服务器端程序中添加相关配置。

一、服务器端程序(位于node_proxy/index.js)

在这里,我们需要设置一系列的头信息来保证跨域请求的顺利进行。如下:

app.all('', function (req, res, next) {

res.header('Access-Control-Allow-Origin', req.headers.origin || '');

res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization,Origin,Accept,X-Requested-With');

res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

res.header('Access-Control-Allow-Credentials', true);

res.header('X-Powered-By', ' 3.2.1');

res.header('Content-Type', 'application/json;charset=utf-8');

if (req.method === 'OPTIONS') {

res.sendStatus(200);

} else {

next();

}

});

这段代码确保了浏览器在发起请求时能够获取到所需的头部信息,从而允许跨域请求。

二、前端axios get请求处理(位于Card模板下)

在前端,我们使用axios来发起get请求。例如:

mounted(){

axios.get(HOST)

.then(response => {

this.sed = response.data.data;

})

}

三、配置proxyTable(位于config/index.js)

为了简化开发过程,我们可以配置proxyTable来代理后端请求。例如:

proxyTable: {

'/seller': {

target: ' // 后端接口地址

changeOrigin: true, // 改变请求头中的host,实现跨域

pathRewrite: {

}

}

}

这样配置后,前端在发起请求时,会自动将请求转发到配置的后端地址,从而避免了繁琐的跨域配置。

以上便是长沙网络推广分享的Vue前后端不同端口的实现方法。在实际开发中,我们需要注意前后端的数据交互方式以及跨域问题的解决方式。希望这篇文章能给大家带来启示和帮助。如需了解更多关于Vue或Node.js的知识,请持续关注我们的分享。更多精彩内容,敬请期待!

上一篇:MySQL中USING 和 HAVING 用法实例简析 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by