一、node.js服务器代理
1.使用nodejs实现代理,解决前端浏览器的同源策略导致的跨域问题
2.跨域只存在于浏览器端,服务器端是不存在同源策略
3.利用第三方模块http-proxy-middleware实现服务器端的一个代理
二、示例
当前端访问’/api地址时’,服务器就去请求百度地址将结果返回
const http = require('http')
const fs = require('fs')
const httpproxymiddle = require('http-proxy-middleware');
const app = http.createServer((req, res) => {
if (req.url == '/') {
let data = fs.readFileSync('./static/proxy.html')
res.end(data)
} else if (req.url == '/api') {
let fn = httpproxymiddle.createProxyMiddleware({
target: 'https://www.baidu.com', // 服务器端请求的目标地址
changeOrigin: true, //是否跨域
pathRewrite: { //将api字符替换成 ''
'/api': ''
}
})
fn(req, res)
} else {
res.end('ok')
}
})
app.listen(3333, () => {
console.log('服务器已启动!!!');
})