【前端部署】通过 Nginx 让局域网用户访问你的纯前端应用

在日常前端开发中,我们常常需要快速将本地的应用展示给局域网内的同事或测试人员,而传统的共享方式往往效率不高。本文将指导你轻松地将你的纯前端应用(无论是 Vue, React, Angular 或原生项目)部署到本地,并配置局域网访问。

本文仅展示最简单的部署

一、准备工作

  1. 拥有一个纯前端应用:
    • 可以是 Vue, React, Angular 或原生 HTML/CSS/JS 项目。
    • 确保应用已经通过 npm run build (或类似命令) 打包生成了静态文件 (通常在 distbuild 目录下)。本文用的是生成的dist文件。
  2. 安装 Nginx:
    • Windows: 从 Nginx 官网下载稳定版,解压即可。
    • (可选) Linux/Mac: 简述包管理器安装命令 (如 apt install nginx, brew install nginx)。
    • 验证 Nginx 是否安装成功 (启动 Nginx,访问 http://localhost)。
  3. 了解你的本地 IP 地址:
    • Windows: ipconfig 命令。
    • Linux/Mac: ifconfigip addr 命令。

二、配置Nginx

2.1 新建项目文件夹

为方便管理,你可以在 Nginx 的安装目录下创建一个专门存放Web应用的文件夹。

例如,如果你的 Nginx 解压在 D:\nginx

  1. D:\nginx 目录下新建 html 文件夹 (如果Nginx解压后自带了此目录,可直接使用)。
  2. D:\nginx\html 中再创建一个项目名文件夹,例如 lowcode
  3. 将你前端项目打包生成的 dist 文件夹整个放入 D:\nginx\html\lowcode\ 中。
    最终 dist 文件夹的路径示例:D:\nginx\html\lowcode\dist

2.2 修改nginx.conf

配置示例

# ...默认代码
http {#...默认代码server {listen       8012; # 监听端口,避免与常用的8080等端口冲突server_name  localhost;location /lowcode/ { # 配置低代码应用的访问路径alias   D:/nginx/html/lowCode/dist/; # 指定低代码应用的静态文件路径index  index.html index.htm; # 指定默认页面try_files $uri $uri/ /lowcode/index.html; # 对于单页面应用 (SPA),此配置确保刷新或直接访问子路由时能正确加载}#...默认代码}
}

2.3 启动与测试nginx

  1. 启动 Nginx (Windows 为例):
    • 执行 start nginxnginx.exe
  2. 常用 Nginx 命令:
    • nginx -s stop: 停止nginx
    • nginx -s reload: 重新加载配置文件 (修改配置后使用)
    • nginx -t: 测试配置文件是否有语法错误
  3. 本地及局域网测试:
    • 本机测试: 在浏览器中访问 http://localhost:访问端口/访问路径/
    • 局域网测试: 在同一局域网内的其他设备上,浏览器访问 http://你的本机IP地址:访问端口/访问路径/ (例如 http://192.168.1.105:8012/lowcode/)。
    • 确认应用能正常显示和操作。

三、总结

通过以上几个简单步骤,你的纯前端应用就能借助Nginx在本地成功部署,并实现局域网共享。Nginx的功能远不止于此,它还可以用于反向代理、负载均衡等多种场景。希望本文能为你的日常开发工作带来启发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/906321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python装饰器深潜】从语法糖到元编程的艺术

目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明🧠 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选型对比🛠️ 二、实战演示⚙️ 环境配置要求💻 核心代码实现案例1:基础计时装饰器案…

mbed驱动st7789屏幕-硬件选择及连接(1)

目录 1.整体介绍 2. 硬件选择 2.1 mbed L432KC 2.2 ST7789 240*240 1.3寸 3. mbed与st7789的硬件连接 4. 总结 1.整体介绍 我们在使用单片机做一些项目的时候,交互性是最重要的因素。那么对于使用者而言,交互最直接的体现无非就是视觉感知,那么我们希望将项目通过视觉…

SpringBoot集成Jasypt对数据库连接密码进行加密、解密

引入依赖 <!--配置密码加密--><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.3</version></dependency><plugin><groupId>c…

分类器引导的条件生成模型

分类器引导的条件生成模型 分类器引导的条件生成模型1. **基本概念**2. **核心思想**3. **实现步骤&#xff08;以扩散模型为例&#xff09;**4. **优点**5. **挑战与注意事项**6. **应用场景**7. **数学推导**总结 分类器引导的条件生成模型 分类器引导的条件生成模型是一种通…

WPF中的ObjectDataProvider:用于数据绑定的数据源之一

ObjectDataProvider是WPF(Windows Presentation Foundation)中一种强大而灵活的数据绑定源&#xff0c;它允许我们将对象实例、方法结果甚至是构造函数的返回值用作数据源。通过本文&#xff0c;我将深入探讨ObjectDataProvider的工作原理、使用场景以及如何在实际应用中发挥其…

lasticsearch 报错 Document contains at least one immense term 的解决方案

一、问题背景 在使用 Elasticsearch 存储较大字段数据时&#xff0c;出现如下异常&#xff1a; ElasticsearchStatusException: Elasticsearch exception [typeillegal_argument_exception, reasonDocument contains at least one immense term in field"fieldZgbpka"…

[目标检测] YOLO系列算法讲解

前言 目标检测就是做到给模型输入一张图片或者视频&#xff0c;模型可以迅速判断出视频和图片里面感兴趣的目标所有的位置和它 的类别&#xff0c;而当前最热门的目标检测的模型也就是YOLO系列了。 YOLO系列的模型的提出&#xff0c;是为了解决当时目标检测的模型帧率太低而提…

服务器操作系统时间同步失败的原因及修复

服务器操作系统时间同步失败可能导致日志记录不准确、安全证书失效等问题。以下是常见原因及对应的修复方法&#xff1a; ### 一、时间同步失败的常见原因 1. **网络连接问题** - NTP服务器无法访问&#xff08;防火墙阻止、网络中断&#xff09; - DNS解析失败或网…

Cribl 中function 使用过滤的特殊case:Parser + rename

Cribl 利用function 对parser 进行特殊过滤处理: Parser Function – Fields Filter Expression​ When you use the Stream Parser Functions Reserialize option, there is a special option that becomes available, called the Fields Filter Expression. This is basica…

inverse-design-of-grating-coupler-3d

一、设计和优化3D光栅耦合器 1.1 代码讲解 通过预定义的环形间距参数(distances数组),在FDTD中生成椭圆光栅结构,并通过用户交互确认几何正确性后,可进一步执行参数扫描优化。 # os:用于操作系统相关功能(如文件路径操作) import os import sys# lumapi:Lumerical 的…

TuyaOpen横空出世!涂鸦智能如何用开源框架重构AIoT开发范式?

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引子:AIoT开发的“不可能三角”被打破 当AI与物理世界深度融合的浪潮席卷全球,开发者们却始终面临一个“不可能三角”——开发效率、技术深度与商业化落地难以兼得。 …

智慧赋能光伏运维——无人机巡检+地面监控双链路覆盖,打造光伏电站管理新标杆

一、引言&#xff1a;光伏电站运维的挑战与机遇 在全球能源转型浪潮下&#xff0c;光伏电站作为清洁能源的重要载体&#xff0c;其高效运维管理成为行业核心命题。然而&#xff0c;传统光伏电站运维存在覆盖范围广、设备分散、人工巡检效率低、故障响应慢等痛点。为破解这一难…

前端无感登录刷新

前端实现无感登录 在现代的前端开发中&#xff0c;用户体验是非常重要的一环。无感登录&#xff08;也叫自动登录&#xff09;就是其中一个提升用户体验的关键功能。它的目标是让用户在登录后&#xff0c;即使关闭浏览器或长时间不操作&#xff0c;也能在下次访问时自动登录&a…

JAVASE查漏补缺

这段时间学习了很多知识&#xff0c;好多还有疑问不清楚的地方。今天有空总结一下。 javame,javase,javaee 一、Java ME&#xff08;Micro Edition&#xff0c;微型版&#xff09; Java ME是一种适用于移动设备和嵌入式系统的小型Java平台&#xff0c;具有高度可移植性和跨平…

【设计模式】基于 Java 语言实现工厂模式

目录 一、简单工厂模式 1.1 简单工厂模式的介绍 二、工厂方法模式 2.1 工厂方法模式的介绍 2.2 工厂方法模式的基本实现 2.3 工厂方法模式的应用场景 三、抽象工厂 3.1 抽象工厂的概念 3.2 抽象工厂的基本结构 3.3 抽象工厂的基本实现 3.4 抽象工厂的应用场景 四、…

OpenCV CUDA模块中的矩阵算术运算------创建卷积操作对象的工厂方法 cv::cuda::createConvolution

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 createConvolution函数是OpenCV CUDA 模块中用于创建卷积操作对象的工厂方法。它返回一个指向 cv::cuda::Convolution 接口的智能指针&#xff0…

IDEA:程序编译报错:java: Compilation failed: internal java compiler error

目录 简介异常信息排查原因解决 简介 代码无法编译、无法打包 异常信息 java: Compilation failed: internal java compiler error排查 1、代码近期没有改动过&#xff0c;原先是可以正常编译的 2、查看程序JDK&#xff0c;是JDK1.8没错&#xff0c;与原先JDK一致 3、出现…

windows 10 做服务器 其他电脑无法访问,怎么回事?

一般我们会先打开win10自己的防火墙策略&#xff0c;但是容易忽略 电脑之间 路由器上的防火墙&#xff0c;此时也需要查看一下&#xff0c;可以尝试先关闭路由器防火墙&#xff0c;如果可以了&#xff0c;再 设置路由器上的防火墙规则。 将路由器的上网设置 改成 路由模式 &a…

【人工智能-agent】--Dify+Mysql+Echarts搭建了一个能“听懂”人话的数据可视化助手!

Echarts官网&#xff1a;https://echarts.apache.org/zh/index.html ECharts 是一个由百度团队开发的、基于 JavaScript 的开源可视化图表库&#xff0c;它提供了丰富的图表类型和强大的交互功能&#xff0c;能够帮助开发者轻松创建专业级的数据可视化应用。 核心特点 丰富的图…

Android设备 显示充电速度流程

整体逻辑&#xff1a;设备充电速度的判断 系统通过读取充电器的最大电流&#xff08;Current&#xff09;与最大电压&#xff08;Voltage&#xff09;&#xff0c;计算最大充电功率&#xff08;Wattage&#xff09;&#xff0c;以此判断当前是慢充、普通充还是快充&#xff1a…