先占坑 后续补充别的
vue2接入qiankun
官方网址: https://qiankun.umijs.org/zh/guide/
good教程 附带github https://github.com/taosin/micro-front-vue (主要是能运行) https://juejin.cn/post/6917848537686507533#heading-1
需要注意 :
(1)主应用写了 默认是1,如果你访问的是2 3 访问失败会自动调回1
(2)不用设置在主应用同级别目录下,可以用localhost也可以用代理域名,也可以是不同服务器只要能访问到就可以。
自己踩坑:
(1)主要是用的vue2,没有vue.config.js
新建 vue.config.js配了半天不生效,原来vue2还是用webpack.dev.config.js
(2)主要解决的是跨域问题,在webpack.dev.config.js 里配devServer就ok
(3)按照官方的文档如果访问不了就之间把${packageName} 改成固定的,也ok,注意output要写在外面,不在devServer里
(4)主要来说就是上面两个webpack配置
还有main.js 全换掉为了识别,qiankun模式
最后就是public-path.js ,不复杂,踩坑再补充
histroy模式这种, main.js里重写的时候已经定义好了~
(5)最后就是package-json里面的 名字要统一
心理活动:
-----------------------------------------------
然后。。。。这边成功之后 往里接又不成功 甚至页面都显示不了了
而且发现之前成功的vue2 router也显示不了路由的内容。。。
iframe自适应高度
参见 https://juejin.cn/post/6977194597915033607
为什么需要使用iframe自适应高度呢?其实就是为了美观,要不然iframe和窗口长短大小不一,看起来总是不那么舒服,特别是对于我们这些编程的来说,如鲠在喉的感觉。
首先设置样式
body{margin:0; padding:0;}
复制代码
如果不设置body的margin和padding为0的话,页面上下左右会出现空白。
html代码如下
<iframe src="http://www.fulibac.com" id="myiframe" scrolling="no" frameborder="0"></iframe>
复制代码
下面就是今天小编写的时候遇到的问题,考虑到有些朋友可能没怎么用jquery就直接用js吧。
方法一
var ifm= document.getElementById("myiframe");
ifm.height=document.documentElement.clientHeight;
复制代码
这个方法可以达到让iframe自适应高度的效果,但是如果你将窗口放大或缩小效果就不出来了,也就是本文开头讲的。需要再次刷新,那就不属于自适应了。
那么问题来了,需要解决当窗口改变大小的时候执行js事件,以让iframe自适就高度。那么就需要将相关的代码写成函数,并且给iframe加上onLoad="changeFrameHeight()",也就是下面的方法二了。
方法二
<iframe src="http://www.fulibac.com" id="myiframe" scrolling="no" οnlοad="changeFrameHeight()" frameborder="0"></iframe>
复制代码
js代码也得跟着改
function changeFrameHeight(){
var ifm= document.getElementById("iframepage");
ifm.height=document.documentElement.clientHeight;
}
window.οnresize=function(){
changeFrameHeight();
}
复制代码
window.onresize的作用就是当窗口大小改变的时候会触发这个事件。
所以,使用方法二就可以完美的、真正的让iframe自适应高度了,试试看吧,并且兼容多种浏览器。
作者:刺心疯
链接:https://juejin.cn/post/6977194597915033607