实现 vue&react 混合开发项目步骤-微前端-二、简单案例

步骤 1: 初始化主应用 (React)

首先,使用 create-react-app 初始化一个 React 应用,这个应用将作为主应用:

npx create-react-app main-app
cd main-app
npm start

步骤 2: 创建 Vue 微应用

然后,使用 Vue CLI 创建一个 Vue 应用,这个应用将作为一个微应用:

vue create vue-micro-app
cd vue-micro-app
npm run serve

步骤 3: 配置 qiankun

在主应用中安装 qiankun 并进行配置:

npm install qiankun --save
在 main-app/src/index.js 中:

import React from 'react';
import ReactDOM from 'react-dom';
import { qiankun } from 'qiankun';
import './index.css';
import App from './App';

qiankun().bootstrap(() => {
  ReactDOM.render(
    <App />,
    document.getElementById('root')
  );
});

步骤 4: 注册 Vue 微应用

在主应用中,使用 qiankun 提供的 API 注册 Vue 微应用:

// main-app/src/App.js
import React from 'react';
import { registerMicroApps, start } from 'qiankun';

const App = () => {
  // 注册 Vue 微应用
  registerMicroApps([
    {
      name: 'vueMicroApp', // 微应用名称
      entry: '//localhost:4200', // Vue 微应用的入口地址
      container: '#vue-container', // 微应用挂载点的 CSS 选择器
      activeRule: '/vue-micro-app', // 微应用的路由规则
    },
  ]);

  return (
    <div>
      <h1>React 主应用</h1>
      <div id="vue-container">Vue 微应用将挂载到这里</div>
    </div>
  );
};

export default App;

// 启动 qiankun
start();

确保在 main-app/public/index.html 中添加一个容器元素:


<div id="root">
  <!-- React 主应用内容 -->
  <div id="vue-container"></div>
</div>

步骤 5: 配置 Vue 微应用

在 Vue 微应用中,安装 qiankun 并进行配置:

cd vue-micro-app
npm install qiankun --save

在 vue-micro-app/src/main.js 中:

import Vue from 'vue';
import App from './App.vue';
import { bootstrap, mount, unmount } from 'qiankun';

// Vue 微应用的 bootstrap、mount 和 unmount 生命周期钩子
bootstrap(Vue, {
  Vue,
  App,
  // 其他配置...
});

mount(() => {
  // 渲染微应用
});

unmount(() => {
  // 卸载微应用
});

步骤 6: 启动应用

启动 React 主应用和 Vue 微应用:

# 在两个不同的终端中运行
cd main-app
npm start

cd vue-micro-app
npm run serve

通过浏览器访问 React 主应用,并在其中看到 Vue 微应用的内容。

上一篇:is_some


下一篇:c++补充