当前位置: 首页 > news >正文

node.js 启一个前端代理服务

文章目录

  • 前言
  • 一、分析技术
  • 二、操作步骤
    • 2.1、下载依赖
    • 2.2、创建一个 serve.js 文件
    • 2.3、js 文件中写入以下代码
  • 三、运行: node serve
  • 四、结果展示
  • 五、总结
  • 六、感谢

前言

有时候我们需要做一些基础的页面时,在研发过程中需要代理调用接口避免浏览器跨域的情况,也方便局域网中研发查看我们做的页面时,就需要启动一个服务来将自己的网页放在服务上来测试和预览。


一、分析技术

前端最常用的就是 node ,所以我们可以采用 node 起一个小的服务就很方便也很快。

二、操作步骤

2.1、下载依赖

在一个文件夹中下载依赖,位置就是当前文件夹。cd (当前文件夹)
下载 express

npm install express

下载 http-proxy-middleware

npm install http-proxy-middleware

2.2、创建一个 serve.js 文件

在当前文件夹场景一个 js 文件。
在这里插入图片描述

2.3、js 文件中写入以下代码

在之前创建的 js 文件中写入代码,可以根据自己的需求进行修改。

//设置代理,主要用于调用后端提供的接口
const options = {target: 'http://192.168.1.1:12002',   // 代理地址 changeOrigin: true,    // 默认false,是否需要改变原始主机头为目标URL,一定要改的ws: true,              // 是否代理websocketspathRewrite: {'/api' : '/',     // 重写请求,比如我们源访问的是/api/old-path,那么请求会被解析为/api/new-path'/test' : '/testNew',}
}let net = require('net');
const os = require('os');let dk=3000; // 端口// 检测端口是否被占用
function portIsOccupied (port) {// 创建服务并监听该端口var server = net.createServer().listen(port)server.on('listening', function () { // 执行这块代码说明端口未被占用server.close() // 关闭服务console.log('端口【' + port + '】 启动。') // 控制台输出信息// startServer(); // 启服务startServer(); // 启服务})server.on('error', function (err) {if (err.code === 'EADDRINUSE') { // 端口已经被使用console.log('端口【' + port + '】 已经被占用,请修改端口。')dk++;portIsOccupied(dk);}})
}// 执行
portIsOccupied(dk);/*** 获取当前机器的ip地址*/
function getIpAddress() {let ifaces = os.networkInterfaces()for (let dev in ifaces) {let iface = ifaces[dev]for (let i = 0; i < iface.length; i++) {let { family, address, internal } = iface[i]if (family === 'IPv4' && address !== '127.0.0.1' && !internal) {return address}}}
}function startServer(params) {const express = require('express');let app = express();app.use(express.static("./"))const { createProxyMiddleware } = require('http-proxy-middleware');//引入const proxy1 = createProxyMiddleware(options);app.use('/api',proxy1); 	// 表示前端访问/apis时就是访问这个接口app.use('/ahzw',proxy1); 	// 表示前端访问/apis时就是访问这个接口app.listen(dk);  console.log('服务器开启成功: http://'+getIpAddress()+":"+dk + "/mockEntry.html");
}

三、运行: node serve

在终端命令行输入:node serve
就可以在当前位置起一个服务访问这个 serve.js 文件旁边的文件。
在这里插入图片描述

四、结果展示

五、总结

以上就是使用 node.js 启一个前端代理服务的方法。

六、感谢

如果觉得有用欢迎点赞关注。
有问题私信我!!~~
谢谢

http://www.lryc.cn/news/260807.html

相关文章:

  • 弹性搜索引擎Elasticsearch:本地部署与远程访问指南
  • 微信小程序生成二维码海报并分享
  • Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别
  • 【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透)
  • springboot 集成 redis luttuce redisson ,单机 集群模式(根据不同环境读取不同环境的配置)
  • PPT插件-好用的插件-PPT 素材该怎么积累-大珩助手
  • qt 正则表达式简单介绍
  • Redis设计与实现之跳跃表
  • [每周一更]-(第27期):HTTP压测工具之wrk
  • 【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx
  • C语言中的柔性数组
  • ca-certificates.crt解析加载到nssdb中
  • 聊聊Java中的常用类String
  • R语言piecewiseSEM结构方程模型在生态环境领域实践技术
  • IDEA设置查看JDK源码
  • SSM—Mybatis
  • MYSQL在不删除数据的情况下,重置主键自增id
  • SpringMVC-servlet交互
  • DICOM 文件中,VR,VL,SQ,图像二进制的几个注意点
  • git 的使用
  • 详解—【C++】lambda表达式
  • Qt Desktop Widgets 控件绘图原理逐步分析拆解
  • 什么是rocketmq❓
  • 【网络安全】HTTP Slowloris攻击原理解析
  • 从最近爆火的ChatGPT,我看到了电商的下一个形态
  • 云原生向量计算引擎 PieCloudVector:为大模型提供独特记忆
  • 大创项目推荐 深度学习 opencv python 实现中国交通标志识别
  • 深度学习实战67-基于Stable-diffusion的图像生成应用模型的搭建,在Kaggle平台的搭建部署,解决本地没有算力资源问题
  • 云原生之深入解析Kubernetes本地持久化存储方案OpenEBS LocalPV的最佳实践
  • 设计模式-策略(Strategy)模式