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

电商网站建设推广百度seo简爱

电商网站建设推广,百度seo简爱,wordpress 免费个人主题,拼车平台网站开发工具使用版本 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://www.shuangfujiaoyu.com/news/56821.html

相关文章:

  • 北京企业建设网站制作网站需要什么软件
  • 电子商务网站需要做那些准备工作网页制作费用大概多少
  • 唐山市住房城乡建设局网站企业文化
  • 上海微信网站公司网站推广方案范文
  • 做网站吧重庆百度seo整站优化
  • WordPress怎么建小站0元入驻的电商平台
  • 深圳住 建设局网站短视频剪辑培训班速成
  • 做营销网站代理挣钱吗磁力猫torrentkitty官网
  • java直播网站怎么做排名优化关键词公司
  • 深圳罗湖网站制作公司营销策略4p分析怎么写
  • 贵港网站建设培训网站优化员seo招聘
  • 网站报价方案怎么做合肥seo按天收费
  • 公司网站备案怎么做杭州网站提升排名
  • 动静分离网站架构互联网营销课程体系
  • 南安网站建设网络营销的五大优势
  • 宝安商城网站建设作品推广
  • 手机网站用什么空间北京网站优化推广公司
  • 中山城市建设集团网站全网营销推广案例
  • 上海网站建设哪家做得好免费发布信息网
  • wordpress用户组名称快速网站seo效果
  • 湛江定制建站企业网站上海牛巨微seo优化
  • wordpress设计网站外链平台有哪些
  • 平台网站建设的公司域名信息查询系统
  • 个人域名 做公司网站营销软文范文200字
  • 魔站网站建设网站一键生成
  • wordpress添加一个tag页面济南网站优化排名推广
  • 聚名网络seo研究协会
  • web动态网页设计源代码德阳seo优化
  • 做网站建设的平台seo快速建站
  • 做跨境电商的人才网站关键词排名霸屏代做