美文网首页js css html
window.__POWERED_BY_QIANKUN__

window.__POWERED_BY_QIANKUN__

作者: w晚风 | 来源:发表于2023-03-29 23:52 被阅读0次

    这样一个问题,采用微前端基座模式下,基座去管理所有子应用。子应用必须在基座访问才可显示菜单,单独访问的情况下直接空白

    如果是通过缓存状态判断肯定是不安全的

    如此我们这里聊一下window.POWERED_BY_QIANKUN

    qiankun其中一个注入的全局变量是 window.POWERED_BY_QIANKUN。这个变量是一个布尔类型的值,用于指示当前应用程序是否在 qiankun 容器中运行

    const isPoweredByQiankun = window.__POWERED_BY_QIANKUN__;
    
    if (isPoweredByQiankun) {
      // 在 Qiankun 容器中运行
      // 执行 Qiankun 提供的一些额外功能
    } else {
      // 在普通的单独运行模式中
      // 执行应用程序自身的功能
    }
    

    子应用中通过运行 window.POWERED_BY_QIANKUN 来判断是否存在去做相关操作
    为true的情况下则表示在基座容器中运行,为fasle的情况下则表示不在基座中运行

    介绍

    window.POWERED_BY_QIANKUN 变量是在应用程序运行时被 Qiankun 微前端框架动态注入到全局作用域中的。
    在 Qiankun 框架中,主应用负责加载和启动所有微前端子应用程序。当子应用程序被加载时,Qiankun 框架会自动将 window.POWERED_BY_QIANKUN 变量注入到子应用程序的全局作用域中。这样,在子应用程序中就可以检测到当前应用程序是否在 Qiankun 容器内运行。
    在主应用程序中,window.POWERED_BY_QIANKUN 变量是在主应用程序启动时由 Qiankun 框架动态注入到全局作用域中的。这个变量可以用来判断主应用程序是否运行在 Qiankun 容器中。
    总之,window.POWERED_BY_QIANKUN 变量是在 Qiankun 微前端框架加载和运行过程中动态注入到全局作用域中的

    如果在浏览器控制台中直接输入 window.POWERED_BY_QIANKUN,那么输出的结果应该是 undefined。因为在这种情况下,控制台只是简单地访问全局变量,而并没有执行任何代码来触发 Qiankun 微前端框架对变量的注入操作

    如果要测试应用程序是否在 Qiankun 容器中运行,您可以在应用程序的代码中使用 console.log(window.POWERED_BY_QIANKUN) 来输出变量值,或者在控制台中输入 console.log(window.POWERED_BY_QIANKUN)。这样可以确保在应用程序运行时,变量已被正确注入到全局作用域中,并且输出结果也更易于理解和分析

    相关文章

      网友评论

        本文标题:window.__POWERED_BY_QIANKUN__

        本文链接:https://www.haomeiwen.com/subject/mveqddtx.html