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

Vue3 + Vite 局域网 HTTPS 访问实战:手机秒连本地开发环境

痛点直击:移动端开发调试时,是否经常被这些问题困扰?

  • 需要 HTTPS 才能调用的 API(摄像头、地理位置、支付等)在局域网无法测试
  • 手机需测试PWA是否生效,测试环境却是http。

今天分享一个零配置、一键开启的解决方案 ——@vitejs/plugin-basic-ssl,让你的 Vue3 项目在局域网内秒变 HTTPS!


一、为什么需要 HTTPS 局域网访问?

1.1 现代 Web API 的 HTTPS 要求

很多现代浏览器 API 出于安全考虑,强制要求 HTTPS 环境

API 功能HTTPS 要求典型应用场景
getUserMedia(摄像头/麦克风)✅ 必须视频通话、扫码识别
Geolocation(地理位置)✅ 必须地图定位、附近推荐
Service Worker✅ 必须PWA 离线应用
Payment Request✅ 必须在线支付
Clipboard✅ 必须复制粘贴功能
Notifications✅ 必须消息推送

1.2 移动端调试的刚需

开发移动端 H5 页面时,我们需要:

  • 📱真机测试:模拟真实用户环境
  • 🔄热更新:保存代码手机实时刷新

二、实战配置:三步搞定 HTTPS

步骤 1:安装插件

npminstall@vitejs/plugin-basic-ssl-D# 或yarnadd@vitejs/plugin-basic-ssl-D# 或pnpmadd@vitejs/plugin-basic-ssl-D

步骤 2:配置 Vite

修改vite.config.js

import{defineConfig}from"vite";importbasicSslfrom"@vitejs/plugin-basic-ssl";exportdefaultdefineConfig({plugins:[// ... 其他插件basicSsl(),// ← 就这一行!],server:{port:81,host:true,// ← 允许局域网访问https:true,// ← 开启 HTTPSopen:true,},});

关键配置解析

  • host: true—— 监听所有网络接口,允许外部设备访问
  • https: true—— 启用 HTTPS 协议
  • basicSsl()—— 自动生成并管理自签名证书

步骤 3:启动并访问

npmrun dev# 或yarndev

控制台会输出类似信息:

VITE v6.x ready in 300 ms ➜ Local: https://localhost:81/ ➜ Network: https://192.168.1.100:81/ ← 手机访问这个地址! ➜ press h + enter to show help

PC端:

手机访问步骤

  1. 确保手机和电脑连接同一 WiFi
  2. 手机浏览器输入https://192.168.1.100:81
  3. 首次访问会提示证书不受信任,点击「继续访问」即可

五、常见问题与解决方案

Q1:手机提示「证书不受信任」怎么办?

这是正常现象,因为使用的是自签名证书。解决方案:

  • Android:点击「高级」→「继续前往」
  • iOS:设置 → 通用 → 关于本机 → 证书信任设置 → 启用证书

Q2:防火墙阻止访问?

确保电脑防火墙允许 Node.js 通过:

  • Windows:控制面板 → 防火墙 → 允许应用通过 → 勾选 Node.js
  • Mac:系统设置 → 网络 → 防火墙

Q3:热更新在手机上不生效?

检查vite.config.js中的host配置:

server:{host:'0.0.0.0',// 明确指定监听所有地址// 或host:true,}

这个方案最适合个人开发调试小团队协作,让你的移动端开发效率翻倍!

http://www.jsqmd.com/news/473750/

相关文章:

  • 2026 学术写作破局:Paperzz 如何用「四步闭环法」解决毕业论文初稿难产,让你 3 天写完合格初稿
  • 【软件测试】系统学习清单(含知识点+掌握程度拆解)
  • # Vue 实现 PDF 预览与批量打印组件
  • 论文党「反内耗」神器:Paperzz 把毕业论文初稿写成「开卷答题」,4 步搞定从 0 到成稿
  • OpenClaw Skill 操作钉钉(原理+20个实例)
  • 数据预处理骚操作
  • 自动化仓储系统的核心设备堆垛机最怕啥?急起急停带来的机械冲击。老司机都知道S型曲线速度控制才是王道,今天咱就扒一扒西门子S7-1500里的实战代码
  • 高通跃龙QCS9100平台上工业缺陷检测实战(1): 从摄像头到端侧推理的最小闭环
  • 实测负荷数据(示例)
  • 北京上门回收老安宫牛黄丸、片仔癀!本草拾光商行高价收,变现快时效拉满 - 品牌排行榜单
  • 西门子PLC精确计算设备运行时间程序(1200PLC与1500PLC通用)——改良版实时时间比较法
  • C++学习日志——面向过程篇3.11
  • 架构2
  • ADRC双环自抗扰控制永磁同步电机矢量控制伺服系统Matlab仿真探索
  • IT系统全生命周期管理和运营方案(Word)
  • PYTHON学习笔记3
  • 代码随想录算法训练营第十天 | 用栈实现队列、 用队列实现栈、有效的括号、删除字符串中的所有相邻重复项
  • OFDM MQAM在衰落信道下误比特率性能仿真探索
  • python语法学习
  • Simulink双三相永磁同步电机控制仿真! 1.矢量控制,包括两种电机建模,VSD模型和双d...
  • STM32单片机开发的空气净化器:原理、设计与源码详解,适合开发人员
  • 探索多机器人协同编队避障算法:从人工势场到动态窗口
  • 从空白文档到合格初稿:Paperzz 毕业论文智能写作,让毕业生告别 “选题 - 文献 - 提纲” 三重焦虑
  • KPCA - ISSA - SVM分类预测:MATLAB实战与模型对比
  • Pyrene-PEG-NH2 氨基功能化芘荧光PEG活细胞成像与示踪探针
  • 产品推荐|40分区光控照明系统
  • 自动化测试中JSONPath 是解析复杂 JSON 响应的核心工具
  • binning模式下和normal模式下相同曝光参数相同场景加权亮度差异消除方案
  • LabVIEW图像处理框架核心结构示意图
  • 搞嵌入式开发的小伙伴应该都遇到过PID调参这个头疼的问题吧?今天咱们直接上干货,聊聊怎么在STM32上玩转PID自整定和温度控制。先扔个核心代码片段镇楼