fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

qiankun(乾坤)
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/umijs/qiankun
网站描述:为微型前端提供快速,简单且完整的解决方案

微框架的目标是什么:  

使用不同JavaScript框架为多个团队构建现代Web应用程序的技术,策略和方法。

独立的开发经验对于大型系统非常重要,尤其是对于企业应用程序。但是如果你试图在这样的系统中实现微前端架构,你通常会因为这些问题而伤害你的大脑:

  • 如何将您的独立子应用程序组合到主系统中?
  • 如何保证您的子应用程序彼此隔离?
  • 等等...


安装与用法

npm i qiankun -S

用qiankun创建主框架 

import { registerMicroApps, start } from 'qiankun';

function render({ appContent, loading }) {
  const container = document.getElementById('container');
  reactdom.render(<Framework loading={loading} content={appContent}/>, container);
}

function genActiveRule(routerPrefix) {
  return (location) => location.pathname.startsWith(routerPrefix);
}

registerMicroApps(
  [
    { 
      name: 'react app', // app name registered
      entry: '//localhost:7100',
      render, 
      activeRule: genActiveRule('/react') },
    { 
      name: 'vue app',
      entry: { scripts: [ '//localhost:7100/main.js' ] }, 
      render, 
      activeRule: genActiveRule('/vue') 
    },
  ],
);

start({ prefetch: true, jsSandbox: true });

从子应用程序条目中导出生命周期 

export async function bootstrap() {
  console.log('react app bootstraped');
}
export async function mount(props) {
  console.log(props);
  ReactDOM.render(<App/>, document.getElementById('react15Root'));
}
export async function unmount() {
  ReactDOM.unmountComponentAtNode(document.getElementById('react15Root'));
}

配置您的子应用程序捆绑器当您想构建一个子应用程序以集成到qiankun时,请确保您的捆绑器具有以下所需的配置: 

webpack:

output: {
  library: packageName,
  libraryTarget: 'umd',
  jsonpFunction: `webpackJsonp_${packageName}`,
}

parcel:

parcel serve entry.js --global myvariable


链接: https://fly63.com/nav/2434

more>>
相关栏目
webpack
webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起
官网GitHub
npm
javascript 最流行的包管理器
官网GitHub
yarn
可替代NPM的快速、可靠、安全的可信赖包管理工具Yarn
官网GitHub
bower
解决js的依赖管理
官网GitHub
grunt
基于Node.js的项目构建工具。它可以自动运行你所设定的任务
官网GitHub
Parcel
快速,零配置的 Web 应用程序打包器
官网GitHub
babel
Babel 是一个 JavaScript 编译器,可用下一代JavaScript 语法写代码
官网GitHub
browserify
一个浏览器端代码模块化工具,require和module.exports来导入和导出.Browserify的原理:部署时处理代码依赖,将模块打包为一个文件。
官网GitHub
HEAD
一份你可以在 &lt;head&gt; 里设置的列表
官网GitHub
Snibox
一个可自建托管的代码片段管理器
官网GitHub
Flow
Facebook 推出一个静态类型检测工具
官网GitHub
WeFlow
一个高效、强大、跨平台的前端开发工作流工具
官网GitHub
Athena
前端自动化流程构建工具
官网GitHub
Cooking
更易上手的前端构建工具
官网GitHub
vue-cli
一个基于 Vue.js 进行快速开发的完整系统
官网GitHub
Turborepo
一个用于 JavaScript 和 TypeScript monorepos 的高性能构建系统
官网GitHub

手机预览