21xrx.com
2024-11-22 09:40:54 Friday
登录
文章检索 我的文章 写文章
如何使用nodejs搭建服务器允许跨域访问?
2023-07-04 17:48:15 深夜i     --     --
nodejs 服务器 跨域访问 搭建 设置

在前端开发中,很多时候需要访问不同域名下的资源,但是由于浏览器的同源策略限制,无法直接进行跨域访问。而在使用 Node.js 搭建服务器时,可以轻松实现跨域访问的需求。

首先,在安装并使用 Node.js 时,需要使用相应的模块来实现跨域访问。常用的有 cors、http-proxy-middleware、koa-cors 等。

其中,使用 cors 第三方模块的方法如下所示:


var express = require('express');

var cors = require('cors');

var app = express();

app.use(cors());

app.get('/api', function(req, res, next) {

 res.json({msg: 'This is CORS-enabled for all origins!'});

});

app.listen(3000, function() {

 console.log('CORS-enabled web server listening on port 3000');

});

上述代码中,首先引入了 express 框架及 cors 模块。然后,使用 app.use(cors()),为应用程序添加跨域支持。最后,设置一个路由 /api,并在其中发送一个 JSON 响应。

除此之外,还可以使用 http-proxy-middleware 中间件实现跨域访问,如下所示:


const express = require('express')

const { createProxyMiddleware } = require('http-proxy-middleware')

const app = express()

app.use('/api', createProxyMiddleware( changeOrigin: true ))

app.listen(3000, () => {

 console.log('Example app listening on port 3000!')

})

上述代码中,使用 http-proxy-middleware 模块来代理请求。其中,createProxyMiddleware() 函数接受一个配置对象,配置项 target 表示转发到目标服务器地址。changeOrigin 设置为 true,是为了支持服务器响应头中的 Access-Control-Allow-Origin 字段。

最后,启动服务器,访问 /api 路由即可进行跨域访问。

总结起来,使用 Node.js 构建服务器,可以借助第三方模块实现跨域访问。常用的有 cors、http-proxy-middleware、koa-cors 等模块,具体可根据实际情况选择合适的模块来实现需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复