最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 3.自研微前端

    正文概述 掘金(田家大少)   2021-03-31   553

    1.路由
    微前端的基础之一就是解决路由,而我所面临的巨石应用是由angular1+ui.router构成的应用。
    ui.router是直接引用html文件的,以此为起点,我开始探索以原项目为portal,植入子项目的做法。

    在原项目中创建vue文件夹,init项目
    开发时,使用代理,使子项目成为与portal相同端口的应用,解除跨域

    devServer: {
        // web 服务
        noInfo: false,
        overlay: false,
        host: "127.0.0.1", port: 1024,
        clientLogLevel: "none",
        contentBase: './dist/wkframe', quiet: true/*静默*/, /*inline: true,*/
        headers: {
            'access-control-allow-origin': '*'
        }, proxy: {
            '/vue': {
                target: 'http://127.0.0.1:8080/',
                secure: false
            }
        }
    }
    

    编译时,将vue的dist包添加至portal项目的dist包,更改路由

        //webpack.dev.js
        new copyWebpackPlugin([
            {from: "static", to: "static"},
            {from: "wkframe", to: "wkframe"},
            {from: "vue/dist", to: "vue"}
        ])
    
        //route.js
        $stateProvider.state("vue", {
            url: "/vue",
            cache:false,
            views: {
                "content": {
                    templateUrl: "/vue/index.html"
                }
            }
        })
    

    2.数据通信
    可以看到,基于此种设定的父子应用处于同一个域,而angular1并没有程序内部的状态管理,多使用浏览器缓存
    因为
    父子应用同域,可以使用浏览器缓存获取相互状态
    路由互通,可以使用url+参数传递参数
    而需要状态隔离则在子应用使用vuex进行内部状态管理(暂时没有用到)


    起源地下载网 » 3.自研微前端

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元