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

qiankun 主子应用部署教程(Nginx 小白版)

 🚀微前端架构(qiankun)已经成为前端工程化的主流方案之一。很多同学本地开发时都能跑起来,但是一到 线上部署,就会遇到 子应用跨域、Vue Router history 刷新 404、Nginx 配置疑惑 等一堆问题。

这篇文章就是给 小白开发者 准备的,从零开始带你搞清楚:

✅ 主应用 / 子应用的区别
✅ 本地开发和线上部署有什么不同
✅ Nginx 配置要点
✅ 跨域 (CORS) + Vue history 模式的完整解决方案


一、主子应用区别(必读)

在微前端架构中:

  • 主应用 (基座)

    • 负责整体框架和路由调度(如 qiankun、iframe)。

    • 自身要能运行 Vue 应用。

    • 需要加载子应用的 HTML、JS、CSS。

  • 子应用

    • 独立打包部署的 Vue 项目。

    • 必须支持 跨域 (CORS),否则主应用无法访问它的资源。

    • 需要支持 Vue Router 的 history 模式刷新。

也就是说:

  • 主应用:相当于门户,负责注册 / 加载子应用,一般不会被别人加载。

  • 子应用:相当于插件,必须支持被主应用远程加载(需要 CORS)。


二、本地开发阶段

本地开发时,主子应用都是用 webpack-dev-server / vite dev 跑起来的,例如:

  • 主应用 👉 http://localhost:8080

  • 子应用 👉 http://localhost:8081

qiankun 的机制:主应用会请求子应用的入口 HTML,再去加载它的 JS / CSS。

💡 本地时一般不需要 Nginx,因为开发服务器默认会带上 CORS 头,主应用可以直接访问子应用。

但如果你遇到主应用加载子应用报跨域错误,则可以:

1️⃣ Vite (vite.config.ts)

在子应用里配置:

export default defineConfig({server: {port: 8081,cors: true, // 推荐用 cors 开启 CORSheaders: {'Access-Control-Allow-Origin': '*',},},
});
  • key 是 server,不是 devServer

  • Vite 官方文档明确指出:开发服务器配置要写在 server 下。

2️⃣ webpack-dev-server (webpack.config.js)

如果你用的是 webpack 的开发服务器,则配置是:

devServer: {port: 8081,headers: {'Access-Control-Allow-Origin': '*',},
}
  • key 是 devServer

  • 适用于 webpack 项目,而不是 Vite。

👉 本地不需要 Nginx,线上才需要 Nginx。


三、本地模拟线上环境(高级玩法)

有时候我们想提前模拟线上,主/子应用用不同的域名。

   我们可以在 hosts 里写:

127.0.0.1 main-app.localhost
127.0.0
http://www.dtcms.com/a/390100.html

相关文章:

  • 开启视觉奇旅:走进《计算机图形学》的世界
  • 光伏组件IV曲线测试仪的功能
  • MySQL MHA
  • 【试题】信息安全管理员考试题库
  • 硬件(十四)SPI通信协议
  • 大模型学习:使用FastText工具进行文本分类
  • pip 指令大全
  • 计算机基础·MySQL
  • 22-29、深度学习知识手册:从全连接到生成模型的融会贯通指南
  • 【FastCAEFlow案例分享】软件在汽车场景中的应用
  • Python二进制数据读取与可变缓冲区操作详解:从基础到高阶应用
  • 面向对象编程(OOP):Java 的核心思想(详细笔记)
  • I2C 通信、AT24C02 EEPROM及LM75温度传感器的配置
  • Halcon中的并行编程(二)
  • Gin框架参数绑定完全指南:从基础到实战最佳实践
  • TF 坐标旋转的方向如何确定
  • C++基础(16)——用红黑树封装出map和set
  • 前端编程工具有哪些?常用前端编程工具推荐、前端编程工具对比与最佳实践分享
  • 换网络这事, Comcast 销户了
  • Day26_【深度学习(6)—神经网络NN(1.2)前向传播的搭建案例】
  • 河南省 ERA5 气象数据处理教程(2020–2025 每月均值)
  • IIS短文件漏洞修复全攻略
  • jdk-7u25-linux-x64.tar.gz 安装教程(Linux下JDK 7 64位解压配置详细步骤附安装包)
  • 边界值分析法的测试用例数量:一般边界值分析(4n+1)和健壮性测试(6n+1)计算依据
  • 基于飞算AI的图书管理系统设计与实现
  • Day26_【深度学习(6)—神经网络NN(1)重点概念浓缩、前向传播】
  • 软考 系统架构设计师系列知识点之杂项集萃(151)
  • Python基础 2》运算符
  • docker 部署 sftp
  • 数字ic笔试