nodejs搭建代理服务器解决跨域问题

news/2024/9/18 14:51:44/ 标签: node.js, javascript, express

1.安装express、http-proxy-middleware

javascript">npm install express http-proxy-middleware

2.根据情况额外再安装一个nodemon,可以在检测到文件变化时自动重启应用程序,省去了手动重启的麻烦

javascript">npm install nodemon

搭建代理服务器 node index.js

javascript">const express = require('express')
const app = express()
const proxy = require('http-proxy-middleware');
const port = 3000
// 放在相对路径下
app.use(express.static('../test'));// 不改变路径
app.use('/', proxy.createProxyMiddleware({target: 'http://localhost:5000',changeOrigin: true,
}));// 添加代理
// changeOrigin
// pathRewrite重写路径
app.use('/', proxy.createProxyMiddleware({target: 'http://localhost:5000',changeOrigin: true,pathRewrite: {"^/api": ""}
}));app.listen(port,()=>{console.log(`启动${port} start with http://localhost:${port}/`)
})

服务器目录同级创建test文件夹创建index.html

javascript"><!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>this is a new request</title>
</head>
<body>这里有个请求<div id="name"></div><script>var xhr = new XMLHttpRequest();// 配置请求类型、URL 以及是否异步处理xhr.open('GET', '/next/a', true);// 设置请求完成的回调函数xhr.onreadystatechange = function () {// 请求完成并且响应状态码为 200if (xhr.readyState === XMLHttpRequest.DONE) {if (xhr.status === 200) {// 处理请求成功的响应数据console.log(xhr.responseText);} else {// 处理请求失败console.log('AJAX Request failed');}}};// 发送请求xhr.send();</script>
</body>
</html>

搭建接口服务器

javascript">var express = require('express');
var app = express();app.get("/", (req, res) => {res.send("123");
});app.get("/next/a", (req, res) => {res.send("a");
});app.get("/api/b", (req, res) => {res.send("bbbbb");
});app.listen(5000);

http://www.ppmy.cn/news/1516124.html

相关文章

大数据系统测试——大数据系统解析(上)

各位好&#xff0c;我是 道普云 欢迎关注我的主页 希望这篇文章对想提高软件测试水平的你有所帮助。 在本文中我们一起来看一下大数据系统每一个层次需要解决的技术问题和对应的一些技术需求。以此来作为学习大数据系统测试的基础。 数据收集层主要是进行数据源的分布式、…

图了个图 - 目前最满意的AI修图软件

图了个图是一款完全免费无广告的AI修图软件&#xff0c;系统占用极低&#xff0c;可以通过AI处理图片。具体功能请查看截图&#xff0c;功能丰富多样。登录后即可享受永久会员&#xff0c;所有功能全开放。目前只有安卓版&#xff0c;后续还会继续更新更多功能。 链接&#xf…

等保测评中的安全测试方法

等保测评&#xff0c;即信息安全等级保护测评&#xff0c;是我国网络安全领域的重要评估机制&#xff0c;用于验证网络系统或应用是否满足相应的安全保护等级要求。在等保测评中&#xff0c;安全测试方法扮演着至关重要的角色。本文将详细介绍等保测评中常用的安全测试方法及其…

用阿里云“无影”搭建《黑神话:悟空》电脑环境

目录 《黑神话&#xff1a;悟空》 阿里云无影试用版概述 阿里云无影云电脑试用版情况 具体详细过程&#xff08;搭建环境&#xff09; 《黑神话&#xff1a;悟空》 《黑神话&#xff1a;悟空》作为一款高品质的国产游戏&#xff0c;对硬件配置有一定的要求。根据公开发布的…

TypeSript5 联合类型|类型断言

联合类型 | 类型断言 交叉类型 联合类型 (|) //例如我们的手机号通常是13XXXXXXX 为数字类型 这时候产品说需要支持座机 //所以我们就可以使用联合类型支持座机字符串 let myPhone: number | string 010-820 //这样写是会报错的应为我们的联合类型只有数字和字符串并没有布…

Web-ssrfme--redis 未授权访问攻击

目录 1、题目源码 2、测试ssrf 3、发现主机 4、发现服务 5、redis 未授权访问攻击 6&#xff0c;拿flag 1、题目源码 <?php highlight_file(__file__); function curl($url){ $ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER…

Docker绑定挂载使用手册

目录 目标 官方文档 绑定挂挂载&#xff08;Bind mounts&#xff09; 简介 基本创建方法 控制读写权限&#xff08;默认有读写权限&#xff09; 为什么绑定挂载不适合做数据库持久化 为什么绑定挂载更适合做热部署 临时挂载&#xff08;tmpfs mounts&#xff09; 简介…

开发者社区✖️外滩大会「创新者舞台」——《特斯拉,不止于车》

备受瞩目的“2024 Inclusion外滩大会”将于2024年9月5日至7日在上海黄浦世博园区盛大开幕。 外滩大会云集了蚂蚁集团、清华大学、复旦大学、上海交通大学、同济大学、浙江大学、上海报业集团、外滩投资集团等在学术界和产业界享有科技盛誉的组织。 大会将延续 “科技创造可持续…

Cambridge Pixel推出综合安防软件平台VSD-C2

Cambridge Pixel公司专注于雷达数据处理与目标跟踪技术&#xff0c;雷达显控软件。从2012年以来&#xff0c;Cambridge Pixel公司一直专注于开发以雷达和摄像头为核心的联动安防产品。为此先后推出了VSD, RadarWatch, Alarm Server, Camera Manager等一系列产品&#xff0c;应用…

【计算机网络】名词解释--网络专有名词详解

在网络通信中&#xff0c;有许多专业术语和概念&#xff0c;它们共同构成了网络通信的基础。以下是一些常见的网络术语及其定义和相互之间的关系&#xff1a; 一、网络基础 1.1 电路交换&#xff1a;电路交换是一种在数据传输前建立专用通信路径的通信方式。在通信开始前&…

鹭鹰优化算法SBOA优化RBF神经网络的扩散速度实现多数入多输出数据预测,可以更改数据集(MATLAB代码)

一、鹭鹰优化算法介绍 鹭鹰优化算法&#xff08;Secretary Bird Optimization Algorithm, SBOA&#xff09;是一种新型的元启发式算法&#xff0c;它于2024年4月由Youfa Fu等人提出&#xff0c;并发表在SCI人工智能二区顶刊《Artificial Intelligence Review》上。该算法的灵感…

鸿蒙界面开发(四):支付宝首页开发实战

利用了层叠布局和一个scroll滚动组件。 包括底部导航、顶部导航、主体的滚动窗口。 主体的滚动窗口又包括一个快捷导航栏和一个导航窗口、以及主体部分 import text from ohos.graphics.text;Entry Component struct Index {State message: string Hello World;//支付宝首页b…

【Electron】桌面应用开发快速入门到打包Windows应用程序

electron 实现桌面应用开发快速入门到打包Windows应用程序 一、基本介绍 ‌‌Electron 是一个使用‌ JavaScript、‌HTML 和‌ CSS 构建桌面应用程序的框架。它通过将‌Chromium和‌Node.js嵌入到其二进制文件中&#xff0c;允许开发者使用JavaScript代码库创建跨平台的桌面应…

JDK、JRE、JVM之间的关系

三者为包含关系&#xff0c;如下图&#xff1a; JDKjava development kit&#xff08;Java开发工具包&#xff09;JDK JRE java开发工具&#xff08;Java&#xff0c; javac&#xff0c;javadoc&#xff0c;javap等&#xff09;&#xff0c;是用于java开发的最小环境。JREj…

【机器学习】 7. 梯度下降法,随机梯度下降法SGD,Mini-batch SGD

梯度下降法,随机梯度下降法SGD,Mini-batch SGD 梯度下降法凸函数(convex)和非凸函数梯度更新方向选择步长的选择 随机梯度下降SGD(Stochastic Gradient Descent)梯度下降法&#xff1a;SGD: Mini-batch SGD 梯度下降法 从一个随机点开始决定下降方向&#xff08;重要&#xff…

【docker】使用github action来自动发布项目到dockerhub

本文首发于 ❄️慕雪的寒舍 使用github action来自动发布项目到dockerhub。参考 https://msdemt.github.io/p/github-action-build-docker/ 博客 1.准备工作 1.1 dockerhub token https://hub.docker.com/settings/security 登录dockerhub&#xff0c;在用户的account settin…

Ubuntu清除缓存的方法--防止系统崩溃

前情提要&#xff1a;虚拟机出现过好几次的崩溃&#xff0c;终于同事发给了一个可以清除缓存的 1&#xff09;崩溃1&#xff1a;之前将虚拟机放置在某盘中&#xff0c;该盘后续一直有别的东西存入&#xff0c;导致ubuntu直接打不开&#xff0c;后续就将虚拟机直接放在电脑单独…

以简单的例子从头开始建spring boot web多模块项目(五)-thymeleaf引擎

继续向里面加&#xff0c;这次是引入thymeleaf渲染引擎。 使用这个引擎的很多&#xff0c;主要是以下几个优点&#xff1a; Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显…

如何安装和高级 AMP for WP

当 WordPress 是支持 AMP 的 WEB 站点时&#xff0c;主要通过两个插件支持 AMP。 一个是AMP插件。 这个插件也参与谷歌的开发&#xff0c;并被确认为AMP项目的官方插件。 我最初也安装了这个AMP插件&#xff0c;但我不知道是否能够共存的常规网站和AMP兼容网站&#xff0c;很难…

【功能自动化】WebTours实现订票流程并设置检查点

环境搭建&#xff1a; 1.需要配置WebTours网站 代码实现&#xff1a; # 导入包 from selenium import webdriver from selenium.webdriver.support.select import Select from time import sleep# 打开浏览器 driver webdriver.Chrome() driver.get("http://127.0.0.…