qiankun中public-path.js文件的作用

一、文件内容
// 核心逻辑:动态设置 Webpack 的 publicPath
if (window.__POWERED_BY_QIANKUN__) {
  __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
}
  • 作用机制‌:通过判断全局变量 window.__POWERED_BY_QIANKUN__ 是否存在,动态修改 Webpack 的公共资源路径 __webpack_public_path__‌;
  • 适配场景‌:仅在子应用被 qiankun 主应用加载时生效,独立运行时保持默认路径‌。

 

二、核心作用
  1. 资源路径动态适配

    • 解决子应用资源(JS/CSS/图片)在微前端环境下因主应用路由前缀导致的路径错误问题‌;
    • 示例:子应用独立运行时资源路径为 /static/js/main.js,嵌入主应用后自动调整为 /subapp/static/js/main.js‌。
  2. 生产与开发环境统一

    • 避免独立部署和嵌入主应用时需分别配置 publicPath 的复杂性‌;
    • 通过运行时动态注入路径,减少构建环境差异带来的配置问题‌。
  3. 多实例隔离

    • 支持同一子应用同时挂载到多个主应用容器时,各实例资源路径独立隔离‌。
三、使用规范
  1. 引入时机

    • 必须在子应用入口文件(如 main.js)的‌最顶部‌引入,确保其他模块加载前已设置路径‌;
    • 示例:
// main.js
import './public-path'; // 首行引入
import Vue from 'vue';
  1. 构建工具适配

    • Webpack 项目需通过 output.publicPath 配置为 'auto' 或空字符串,以启用动态路径‌;
    • Vite 项目需通过 base 配置结合环境变量实现类似效果‌。
四、典型问题解决
问题现象原因解决方案
子应用资源加载 404静态资源路径未适配主应用路由检查 public-path.js 是否正确引入‌
样式/脚本跨域错误资源路径未动态更新确认 __webpack_public_path__ 被成功注入‌
热更新失效开发环境路径冲突主应用注册时添加 useDevMode: true 参数‌

 

### 乾坤框架简介 乾坤框架是一种微前端解决方案,旨在帮助开发者更高效地构建复杂的大型单页应用程序(SPA)。它通过动态加载子应用的方式实现模块化开发,支持多种技术栈的集成[^1]。 具体来说,乾坤框架的核心功能包括但不限于以下几点: - 动态加载子应用。 - 支持 Vue、React 等主流前端框架。 - 提供灵活的路由配置机制,能够自动匹配并加载对应的子应用[^2]。 --- ### 使用教程概述 #### 配置主基座项目 在主基座项目的 `package.json` 文件中,需定义子应用的相关信息。例如: ```json { "name": "main-app", "dependencies": { "@qwik/framework": "^2.5.0" } } ``` 其中,`@qwik/framework` 是乾坤框架的主要依赖包[^1]。 接着,在主基座的路由配置文件中设置子应用路径映射关系。例如: ```javascript const apps = [ { name: 'sub-vue', // 子应用名称 entry: '//localhost:7100', // 子应用入口地址 container: '#container', // 容器节点的选择器 activeRule: '/vue' // 激活该子应用的路径规则 }, ]; ``` 以上代码片段展示了如何注册一个名为 `sub-vue` 的子应用,并指定其激活条件为 `/vue` 路径[^1]。 #### 新增必要文件 按照官方文档指引,需要新增特定文件来适配乾坤框架的功能需求。例如,在 `src` 目录下创建 `public-path.js` 文件,用于处理 Webpack 的公共路径逻辑: ```javascript if (window.__POWERED_BY_QIANKUN__) { __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__; } ``` 此脚本确保资源能够在微前端环境中被正确解析和加载[^2]。 --- ### 文档与下载链接 关于乾坤框架的具体使用说明以及最新版的 API 参考,请访问官方 GitHub 页面获取权威资料: https://github.com/ant-design/pro-components/tree/master/packages/qiankun 此外,NPM 上也提供了安装命令以便快速引入库文件: ```bash npm install @qwik/framework --save ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值