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

想自己做淘宝有什么网站网络软文

想自己做淘宝有什么网站,网络软文,前端接单平台,网站建设 紧急检查工作首先!不建议用vite,改了两天,无果。 乾坤本就不支持vite,后续要改插件改配置追加前缀,乾坤只能挂载基础节点,但是静态资源以及接口都挂载不上,或许有实现办法,但时间节点很紧&#…

首先!不建议用vite,改了两天,无果。

乾坤本就不支持vite,后续要改插件改配置追加前缀,乾坤只能挂载基础节点,但是静态资源以及接口都挂载不上,或许有实现办法,但时间节点很紧,放弃了vite,后续有时间研究我会再贴一篇博客记录踩过的坑,但还是不建议用vite。

后来改造了项目,转而用webpack。

官网:项目实践 - qiankun

照官网配置三五分钟就搞定了,页面正常挂载,api也能正常访问。

值得注意的是render函数:

function render(props = {}) {const { container } = props;router = new VueRouter({base: window.__POWERED_BY_QIANKUN__ ? '/app-vue/' : '/',mode: 'history',routes,});instance = new Vue({router,store,render: (h) => h(App),}).$mount(container ? container.querySelector('#app') : '#app');
}

VueRouter不必要在这里引用,一般来说,项目都会在router文件夹下重新创建一个index.js来处理路由守卫以及拦截的问题,还有一个router.js来专门记录路由,视情况引用即可。

贴出的router只是为了配置base地址,mode以及所有的路由,既而挂载到Vue()上。

还有就是因为三个钩子函数已暴露,所以贴出的base:/app-vue/,可替代成props.routerBase,具体看主应用向子应用发送的键名,这样base配置更为灵活,当然沟通好写死base也同样可以挂载。

以下是main.js全部代码,主服务用的vue3+elementUI Plus,子服务是vue2 + elementUI,样式存在污染,添加了样式白名单后也解决了。

import Vue from 'vue';
import App from '@/App.vue';
import store from '@/stores';
// import router from '@/routers';
import VueRouter from 'vue-router';
import routes from '@/routers/router.js';
import element from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import '@/style/index.less';
// 应主服务要求,去除rem
// import '@/utils/rem';
import '@/utils/directive';
import { Tooltip } from 'element-ui';import './public-path';
import '@/assets/icons/iconfont.css';element.Tooltip.props.openDelay.default = 1000;Vue.config.productionTip = false;let instance = null;
// 初始的document.body.appendChild事件
const originFn = document.body.appendChild.bind(document.body);
function render(props = {}) {const { container,routerBase,mainRouter,loginOut  } = props;Vue.prototype.$baseMainRouter = mainRouterVue.prototype.$baseLoginOut = loginOut// 每次渲染的时候调用redirectPopup事件redirectPopup(props);const router = new VueRouter({mode: 'history',base:window.__POWERED_BY_QIANKUN__ ? routerBase : '/',routes})instance = new Vue({router,store,render: h => h(App),}).$mount(container ? container.querySelector('#app') : '#app');
}// 独立运行时
if (!window.__POWERED_BY_QIANKUN__) {render(document);
}export async function bootstrap() {console.log('[vue] vue app bootstraped');
}
export async function mount(props) {render(props);
}function redirectPopup(container) {// 子应用中需要挂载到子应用的弹窗className。样式class白名单,用子应用的样式。const whiteList = ['el-select-dropdown', 'el-popper', 'el-popover', 'el-dialog','el-dialog__wrapper','el-tooltip','el-message_wrapper'];// 保存原有document.body.appendChild方法const originFn = document.body.appendChild.bind(document.body);// 重写appendChild方法document.body.appendChild = (dom) => {// 根据标记,来区分是否用新的挂载方式let count = 0;whiteList.forEach((x) => {if (dom.className.includes(x)) count++;});if (count > 0 && container.container) {// 有弹出框的时候,挂载的元素挂载到子应用上,而不是主应用的body上container.container.querySelector('#app').appendChild(dom);} else {originFn(dom);}};
}export async function unmount() {instance.$destroy();instance.$el.innerHTML = '';instance = null;instance?.unmount?.()history?.destroy?.()document.body.appendChild = originFn;
}Vue.use(element);
Vue.use(Tooltip);
// new Vue({
//   router,
//   store,
//   render: h => h(App)
// }).$mount('#app')

http://www.tj-hxxt.cn/news/62279.html

相关文章:

  • 网站优化怎么做 有什么技巧关键词挖掘查询工具
  • 网站内容页设计专业软文发布平台
  • 学习软件的网站百度关键词seo年度费用
  • 网站建设计划书图片外链生成器
  • 哪个网站做代购seo中文意思
  • 广州微网站建设网络服务器的功能
  • 中国互联网协会会员重庆seo教程
  • 静安区网站开发营销网站建设教学
  • 网站开发路径百度seo关键词排名优化软件
  • 海口仿站定制模板建站seo海外
  • 深圳创业项目网络seo是什么
  • 手机网站管理工具推广策划方案模板
  • 开源网站模板网络营销pdf
  • 网站的相关搜索css代码怎么做百度手机浏览器
  • asp源码网站免费网站在线客服软件
  • dhru商城网站建设百度账号管家
  • 别人买了域名做违法网站网络推广公司如何做
  • 做电影网站选服务器网站关键词免费优化
  • 西安免费做网站公司百度搜索关键词排行榜
  • 哈尔滨建站做一个公司网站大概要多少钱
  • PHP+MySQL网站开发全程实例广州王牌seo
  • 威海外贸网站建设多少钱搜索引擎网络推广方法
  • 业务网站制作seo和sem的联系
  • 宝鸡市市政工程建设管理处网站东莞网站建设推广公司
  • 网新企业网站管理系统太原百度网站快速排名
  • 网站各个级别建设费用南宁在哪里推广网站
  • 网站后台上传图片做难吗长尾关键词挖掘熊猫
  • 宁波网站建站公司百度有刷排名软件
  • 不买域名怎么做网站百度热搜seo
  • 小型网站设计及建设论文品牌营销策略包括哪些内容