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

小程序在哪个网站做企业营销咨询

小程序在哪个网站做,企业营销咨询,wordpress日志编辑器,石家庄模板做网站在现代前端开发中,微前端架构逐渐成为一种流行的解决方案,尤其是在大型项目中。通过微前端,我们可以将一个复杂的单体应用拆分为多个独立的小型应用,每个子应用可以独立开发、部署和运行,同时共享主应用的基础设施。本…

在现代前端开发中,微前端架构逐渐成为一种流行的解决方案,尤其是在大型项目中。通过微前端,我们可以将一个复杂的单体应用拆分为多个独立的小型应用,每个子应用可以独立开发、部署和运行,同时共享主应用的基础设施。本文将详细介绍如何使用 Vue3 + Webpack 作为主项目,Vue3 + Vite 作为子项目,并通过 Qiankun 实现微前端架构。


主项目配置(Vue3 + Webpack)

主项目是整个微前端架构的核心,它负责加载和管理子应用。以下是主项目的配置步骤:

1. 安装依赖

首先,确保安装了 qiankun,这是微前端的核心库:

npm install qiankun --save

2. 配置主应用注册子应用

在主项目的 main.js 文件中,引入并配置 registerMicroAppsstart 方法:

import { registerMicroApps, start } from 'qiankun';registerMicroApps([{name: 'application', // 子应用名称entry: 'http://部署地址.com/sub-app', // 子应用入口地址container: '#sub-app-container', // 子应用挂载的 DOM 容器activeRule: '#/sub-app', // 激活规则,这里直接使用哈希路径props: {/* 可以传递给子应用的参数 */},},
]);// 启动微前端
start();

3. 路由配置

为了让主应用能够正确加载子应用,需要在主应用的路由配置中添加一条通配符规则:

{path: '/sub-app/:page*', // 使用通配符 * 匹配所有子路由name: 'sub-app',component: () => import('@/views/subapp.vue'), // 子应用容器组件meta: { name: '子应用' },
}

这里的 subapp.vue 是一个简单的容器组件,用于挂载子应用的内容:

<template><div id="sub-app-container"></div>
</template>

子项目配置(Vue3 + Vite)

子项目是一个独立的 Vue3 应用,使用 Vite 构建工具进行开发和打包。以下是子项目的配置步骤:

1. 安装依赖

确保安装了以下依赖:

npm install vite-plugin-qiankun --save-dev

2. 配置 vite.config.js

在子项目的 vite.config.js 文件中,配置 vite-plugin-qiankun 插件:

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import qiankun from "vite-plugin-qiankun";export default defineConfig({plugins: [vue(),qiankun("application", {useDevMode: true, // 开发模式下启用}),],resolve: {alias: {"@": "/src",},},server: {port: 7001, // 开发服务器端口headers: {"Access-Control-Allow-Origin": "*", // 允许跨域},},build: {assetsDir: 'static', // 静态资源目录rollupOptions: {output: {chunkFileNames: 'static/js/[name]-[hash].js',entryFileNames: 'static/js/[name]-[hash].js',assetFileNames: 'static/[ext]/[name]-[hash].[ext]',},},},base: '/sub-app/', // 部署时的基础路径
});

3. 路由配置

子应用的路由需要根据是否运行在微前端环境中动态调整基础路径:

import { createRouter, createWebHashHistory } from 'vue-router';
import { qiankunWindow } from 'vite-plugin-qiankun/dist/helper';const routes = [{path: '/sub-app/abort',name: 'abort',component: () => import('@/views/abort.vue'),},{path: '/sub-app/home',name: 'home',component: () => import('@/views/home.vue'),},
];const base = qiankunWindow.__POWERED_BY_QIANKUN__ ? '/sub-app' : '/';
const router = createRouter({history: createWebHashHistory(base),routes,
});export default router;

4. 主入口文件 main.ts

在子项目的 main.ts 中,处理微前端环境下的挂载逻辑:

import { createApp } from "vue";
import router from "./router";
import App from "./App.vue";
import { renderWithQiankun, qiankunWindow } from "vite-plugin-qiankun/dist/helper";
import ElementPlus from "element-plus";
import locale from "element-plus/es/locale/lang/zh-cn";
import "element-plus/dist/index.css";
import * as ElementPlusIconsVue from "@element-plus/icons-vue";let app;function render(props = {}) {const { container } = props;app = createApp(App);app.use(router);app.use(ElementPlus, { locale });for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component);}app.mount(container ? container.querySelector("#app") : "#app");
}const initQianKun = () => {renderWithQiankun({mount(props) {console.log("vite 应用挂载", props);render(props);},bootstrap() {console.log("vite-vue3 初始化");},unmount() {console.log("vite-vue3 卸载");app.unmount();},});
};qiankunWindow.__POWERED_BY_QIANKUN__ ? initQianKun() : render({});

Nginx 配置

为了将子应用的静态资源部署到主应用的服务器上,我们需要在主项目的 Nginx 配置中添加子应用的路径规则:

location /sub-app/ {root /path/to/main-project; # 主项目的根目录index /sub-app/index.html;
}

在主项目的根目录下创建一个 sub-app 文件夹,将子应用打包后的文件放入其中。


http://www.dtcms.com/wzjs/379751.html

相关文章:

  • 网站二级目录怎么做郑州谷歌优化外包
  • 四川网站网站建设免费十八种禁用网站
  • 做ppt找图片的网站有哪些石家庄自动seo
  • 教人做甜点的网站北京新闻最新消息
  • 南充网站开发百度金融
  • 网站开发前端技术5g影讯5g天线在线观看免费视频
  • 开州区城乡建设委员会官方网站特色产品推广方案
  • 做个手机网站多少钱搜索排名优化
  • 关于实施公司网站建设的请示广告公司名称
  • 如何做微信ppt模板下载网站网络软营销
  • 汉字logo标志设计名词解释搜索引擎优化
  • 阿里云备案网站负责人百度图片搜索引擎入口
  • 网站建设项目执行进度表百度网站排名优化
  • 网站建设云解析dns有什么用cps广告联盟平台
  • 武汉做网站公司排名seo网上课程
  • 苏州公司注册代办seo公司关键词
  • 百度百科让做网站的超链接吗北京seo公司华网白帽
  • 网站规划与网站建设数据分析师培训机构
  • 珠海市公司网站建设百度搜索风云榜小说排行榜
  • 毕业设计可以做网站不淘宝指数入口
  • 网络营销的特征包括seo学校培训班
  • 东莞公司网站策划站外推广免费网站
  • 12380网站的建设情况广州网站快速排名优化
  • 男女生做内个的网站八百客crm系统登录入口
  • net做公司网站是否适合百度指数怎么刷指数方法
  • 免费做微网站企业文化标语
  • 哪个网站做的win10比较干净重庆百度推广排名
  • 教做宝宝辅食的网站最新重大新闻
  • 周浦网站建设公司最新的全国疫情数据
  • 潮汕17网站一起做网店官网seo查询工具有哪些