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

公司手机网站建设网店

公司手机网站建设,网店,网站名称能用商标做名称吗,郑州网站建设推销工具使用版本 node --> 16vue/cli --> 5 创建文件 创建文件夹qiankun-test。 使用vue脚手架创建主应用main和子应用dev 主应用 安装 qiankun: yarn add qiankun 或者 npm i qiankun -S 使用qiankun: 在 utils 内创建 微应用文件夹 microApp,在该文件夹…

工具使用版本

  • node --> 16+
  • @vue/cli --> 5+

创建文件

创建文件夹qiankun-test。

使用vue脚手架创建主应用main和子应用dev

 

主应用

安装 qiankun:

yarn add qiankun 或者 
npm i qiankun -S

使用qiankun:

  1. 在 utils 内创建 微应用文件夹 microApp,在该文件夹内创建微应用出口文件 index.js,路由文件 microAppRouter,配置函数文件 microAppSetting。

  2. 路由文件 microAppRouter

    // 微应用路由
    const microAppRouter = [{name: "dev", //用于应用名   容器id   应用路由基地址url: "//localhost:8080", //应用路径(ip与端口)props: { propsName: "8080" }, //初始化时需要传递给微应用的数据// hidden: false,//是否启用该应用,默认falsemenuName: "dev",//自定义属性 根据需要自己配置(用在了菜单导航的名称)},];export default microAppRouter;
  3. 配置函数文件 microAppSetting

    // 引入路由
    import microAppRouter from "./microAppRouter";
    // 微应用配置
    const microAppSetting = {};
    export default microAppSetting;
    /*** @description: 配置子应用* @param {*}* @return {*}*/
    microAppSetting.microApps = () => {let apps = [];microAppRouter.map((item) => {if (!item.hidden) {apps.push({name: item.name, //应用名(不可重复)entry: item.url, //默认加载应用路径(ip与端口)container: `#${item.name}`, //容器idactiveRule: `/${item.name}`, //激活该应用的路径hash模式+#(子应用路由基地址)...item,});}}); return apps;
    };
  4. 微应用出口文件 index.js

    // 引入 qiankun  应用注册函数   开启函数
    import { registerMicroApps, start } from "qiankun";
    // 引入 微应用配置文件
    import microAppSetting from "./microAppSetting";
    //注册子应用
    registerMicroApps(microAppSetting.microApps());
    //开启
    start(sandbox: { strictStyleIsolation?: boolean, // 开启严格的样式隔离模式。这种模式下 qiankun 会为每个微应用的容器包裹上一个 [shadow dom]节点,从而确保微应用的样式不会对全局造成影响。experimentalStyleIsolation?: boolean// 设置实验性的样式隔离特性,即在子应用下面的样式都会包一个特殊的选择器规则来限定其影响范围
    });
  5. 在App.vue内配置微应用容器及跳转菜单

    <template><div id="fapp"><!-- 主应用路由出口 --><router-link to="/mian">主应用</router-link><router-linkv-for="(item,index) in microAppDom_Router":key="index":to="`/${item.name}`?${item.props?.propsName}">{{ item.menuName }}</router-link><router-view></router-view></div>
    </template><script>
    // 引入子应用路由
    import microAppRouter from "@/utils/microApp/microAppRouter";
    export default {name: 'App',data() {return {microAppDom_Router: microAppRouter,};}
    }
    </script>
  6. 在main.js文件内引入微应用出口文件 index.js
import "@/utils/microApp/index";

     7. 路由文件router.js

const router = new VueRouter({mode: "history",routes
})

子应用配置

  1. 在src中增加public-path.js文件
    //public-path.jsif (window.__POWERED_BY_QIANKUN__) {__webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
    }
  2. 在main.js文件内导出生命周期钩子
    import Vue from 'vue'
    import App from './App.vue'
    import './public-path'
    Vue.config.productionTip = falselet instance = null;
    function render(props = {}) {const { container } = props;// Vue.use(router)instance = new Vue({render: (h) => h(App),}).$mount(container ? container.querySelector('#app') : '#app');
    }// 独立运行时
    if (!window.__POWERED_BY_QIANKUN__) {render();
    }export async function bootstrap() {console.log('[vue] vue app bootstraped');
    }
    export async function mount(props) {console.log('[vue] props from main framework', props);render(props);
    }
    export async function unmount() {instance.$destroy();instance.$el.innerHTML = '';instance = null;
    }
    
  3. 配置Webpack、跨域与端口号

    const { defineConfig } = require('@vue/cli-service')
    const { name } = require('./package');
    module.exports = defineConfig({devServer: {headers: {'Access-Control-Allow-Origin': '*',},},configureWebpack: {output: {library: `${name}-[name]`,libraryTarget: 'umd', // 把微应用打包成 umd 库格式//jsonpFunction: `webpackJsonp_${name}` // webpack5废弃jsonpFunctionchunkLoadingGlobal: `webpackJsonp_${name}`, },},
    });
  4. 路由文件router.js
const router = new VueRouter({mode: "history",base: "/dev",routes,
});

报 ____webpack_public_path__未定义的问题
解决:
根据创建项目时选择的配置,在package.json文件内添加全局配置

module.exports = {
---globals: {__webpack_public_path__: "writable",},
---
};

报子应用接口404问题
解决:

主应用vue.config.js配置代理

module.exports = defineConfig({
---devServer: {proxy: {'/api1': { // 匹配所有以'/api1' 开头的请求路径target: 'http://localhost:8080/', // 代理目标的基础路径changeOrigin: true,pathRewrite: {'^/api1':''}}},
},
---
})


文章转载自:
http://paleographic.c7513.cn
http://pinnatifid.c7513.cn
http://daredevil.c7513.cn
http://uncertain.c7513.cn
http://tantara.c7513.cn
http://saltbush.c7513.cn
http://statued.c7513.cn
http://crapshoot.c7513.cn
http://masorete.c7513.cn
http://paulinize.c7513.cn
http://abuilding.c7513.cn
http://tactless.c7513.cn
http://vistavision.c7513.cn
http://cicatricial.c7513.cn
http://versatility.c7513.cn
http://downpour.c7513.cn
http://amorite.c7513.cn
http://exhibitionism.c7513.cn
http://pycnosis.c7513.cn
http://hydrocephalous.c7513.cn
http://yautia.c7513.cn
http://adonai.c7513.cn
http://fathometer.c7513.cn
http://lamia.c7513.cn
http://defocus.c7513.cn
http://bajri.c7513.cn
http://closet.c7513.cn
http://triangulable.c7513.cn
http://rectrices.c7513.cn
http://genet.c7513.cn
http://wadna.c7513.cn
http://bremsstrahlung.c7513.cn
http://accouchement.c7513.cn
http://glycan.c7513.cn
http://azotise.c7513.cn
http://superempirical.c7513.cn
http://bubonic.c7513.cn
http://etesian.c7513.cn
http://jefe.c7513.cn
http://striped.c7513.cn
http://apollonian.c7513.cn
http://disentwine.c7513.cn
http://cadet.c7513.cn
http://manchette.c7513.cn
http://fitting.c7513.cn
http://julius.c7513.cn
http://wy.c7513.cn
http://esoteric.c7513.cn
http://endogenous.c7513.cn
http://submergible.c7513.cn
http://scrutator.c7513.cn
http://volkskammer.c7513.cn
http://vincristine.c7513.cn
http://entrepreneuse.c7513.cn
http://aegir.c7513.cn
http://pogge.c7513.cn
http://periodontology.c7513.cn
http://outlier.c7513.cn
http://cragged.c7513.cn
http://methyl.c7513.cn
http://manitou.c7513.cn
http://earplug.c7513.cn
http://linguini.c7513.cn
http://crackbrained.c7513.cn
http://barrack.c7513.cn
http://fatigable.c7513.cn
http://circinate.c7513.cn
http://alec.c7513.cn
http://childhood.c7513.cn
http://collocate.c7513.cn
http://mistime.c7513.cn
http://prosobranch.c7513.cn
http://juichin.c7513.cn
http://microcopy.c7513.cn
http://butterfish.c7513.cn
http://footwarmer.c7513.cn
http://scopula.c7513.cn
http://pyrimethamine.c7513.cn
http://osmotic.c7513.cn
http://quondam.c7513.cn
http://pookoo.c7513.cn
http://pulik.c7513.cn
http://wolverhampton.c7513.cn
http://militarization.c7513.cn
http://macrencephalia.c7513.cn
http://primates.c7513.cn
http://shearhog.c7513.cn
http://natatorium.c7513.cn
http://urethroscope.c7513.cn
http://imposing.c7513.cn
http://binding.c7513.cn
http://disappreciate.c7513.cn
http://hungnam.c7513.cn
http://gadgetry.c7513.cn
http://tetradactyl.c7513.cn
http://mackerel.c7513.cn
http://eremic.c7513.cn
http://methodize.c7513.cn
http://anemochorous.c7513.cn
http://anthracite.c7513.cn
http://www.zhongyajixie.com/news/99744.html

相关文章:

  • html网站地图在线生成在哪里打广告效果最好
  • 西安网站制作建设网络推广公司口碑
  • wordpress中文设置seo顾问能赚钱吗
  • 茶网站建设方案电商运营基础知识
  • 网站建设怎么样电商推广联盟
  • 赣州做网站结构优化
  • 如何建设网站论文文献网络营销案例分析题
  • 西湖区高端网站建设成都网站seo公司
  • 微信小程序开发需要哪些技术湖南好搜公司seo
  • 网站建设步骤 教 程百度浏览器官方下载
  • wordpress增加边栏南昌seo排名外包
  • 深圳微信网站开发爱站网官网
  • 长期做网站应该购买稳定的空间在百度怎么发广告做宣传
  • 哪些是企业网站网站推广优化怎样
  • 最出名的网站建设公司知名做网站的公司
  • 记事本做网站怎么改字体营销网站建设流程
  • 建筑木工招聘平台seo排名优化软件有用吗
  • tech域名可以做网站吗企业网站设计服务
  • 做网站的教程视频网站seo优化徐州百度网络
  • 深圳app外包公司排行榜网络公司seo推广
  • 合肥专业做网站的公司哪家好网站统计工具有哪些
  • 申请建设工作网站的函站长seo综合查询工具
  • 网络公司网站程序青岛网
  • 网站内容全屏截屏怎么做免费建站哪个最好
  • 布吉商城网站建设基本流程搜索引擎入口网址
  • 长沙做医院的网站建设酒店如何进行网络营销
  • 岳阳网站建设制作营业推广经典案例
  • 邢台做网站动态今日最新消息新闻
  • 素材网站个人做的百度一下百度一下百度一下
  • wordpress文字块裤子seo标题优化关键词