node 代理服务器写法

本文介绍了如何利用Express创建一个代理服务器,解决跨域问题。示例代码包括proxy.js和index.html,通过start.js和app.js,当浏览器请求/api时,代理服务器转发到localhost:4000。
摘要由CSDN通过智能技术生成

以 express 为列子

proxy.js

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

const app = express();
app.use(express.static(__dirname + '/'));
app.use('/api', createProxyMiddleware({ target: 'http://localhost:4000', changeOrigin: true }));
module.exports = app;

 

i ndex.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>

<body>
    <p>3000端口的页面</p>
    <p>data</p>
    <script>

        (async () => {
            // 调用函数的函数体
            // axios.defaults.withCredentials = true;
            let response = await axios.get("/api/users");
            console.log(response.data);
            document.writeln(`response + ${JSON.stringify(response.data)}`);
        })();
    </script>
</body>

</html>

 

通过代理服务器,我们就避免了跨域问题

 

 

    浏览器----》 start.js--->app.js

/api ---> localhost:4000/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值