QianKun框架初使用!

此文只是自己写的小demo,可实现微服务,才敢拿出来和大家分享,后面会把github链接或者码云的链接贴出来。
配上qiankun的官方链接一份
https://qiankun.umijs.org/zh/guide/tutorial#%E4%B8%BB%E5%BA%94%E7%94%A8

一、相关准备
主应用:React、QianKun、react-router-dom、react-router
微应用:React、react-router-dom、react-router、@rescripts/cli
建造目录:parentReact为主应用,childReact为微应用

这里就拿两个应用来展示

二、开始操作
简单的npm install就不在这里说了哈,各位亲们。
在这里插入图片描述

1、parentReact操作,src/index.js中引入乾坤,
import { registerMicroApps, start } from ‘qiankun’;
registerMicroApps([
{
name: ‘parentReact’,
entry: ‘//localhost:3000’, // 主应用运行的端口号
container: ‘#container’,
activeRule: ‘/parent-react’,
},
{
name: ‘childReact’,
entry: ‘//localhost:3001’, // 微应用运行的端口号
container: ‘#container’,
activeRule: ‘/child-react’,
}
]); // 这里注册主应用和微应用
这里的start建议放在index.js文件的最后执行,以免出现container没有加载的情况
start(); // 启动 qiankun

2、操作parentReact的路由模式,手动设置为BrowserRouter,并且配置一个两个自定义路由(随便什么都可以,Route的component里面返回一个h1标签即可)

3、切换到微应用中childParent中,首先在src文件夹下新建文件public-path.js,并在index.js中的最顶部引入这个文件(这一步是要修改webpack配置中的publicPath)
if (window.POWERED_BY_QIANKUN) {
window.webpack_public_path = window.INJECTED_PUBLIC_PATH_BY_QIANKUN;
}(这里我给代码块中加了一个全局的window,避免了eslint检测的not defined)

4、在src/index.js文件中导出qiankun在主应用中要使用的生命周期(简洁意赅就是导出生命周期)
在这里插入图片描述
5、安装插件 @rescripts/cli npm i -D @rescripts/cli
根目录新增 .rescriptsrc.js
在这里插入图片描述const { name } = require(’./package’);

module.exports = {
webpack: (config) => {
config.output.library = ${name}-[name]; //这里的属性值建议使用主应用中注册微应用时定义的name,避免发生错误
config.output.libraryTarget = ‘umd’;
config.output.jsonpFunction = webpackJsonp_${name};
config.output.globalObject = ‘window’;

return config;

},

devServer: (_) => {
const config = _;

config.headers = {
  'Access-Control-Allow-Origin': '*',
};
config.historyApiFallback = true;
config.hot = false;
config.watchContentBase = false;
config.liveReload = false;

return config;

},
};

6、修改微应用中的package.json文件在这里插入图片描述
7、修改微应用的路由模式,并添加路由。
<BrowserRouter basename={"/child-react"}> // basename切记设置,和注册微应用时保持一致。

到这里基本设置就结束了。如果启动项目后报错,请参考 https://qiankun.umijs.org/zh/faq qiankun常见问题一栏。

谢谢大家的阅读。祝大家写代码没有BUG,不被需求所难倒。
后期我会把代码地址贴到评论区,有问题大家及时指出哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值