范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

阿里开源的一个插件化前端框架,腾讯美团字节都在用

  《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐是一个企业级前端开发框架——UMI。
  Umi,中文发音为「乌米」,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。
  Umi 是蚂蚁集团的底层前端框架,已直接或间接地服务了 10000+ 应用,包括 Java、Node、H5 无线、离线(Hybrid)应用、纯前端 assets 应用、CMS 应用、Electron 应用、Serverless 应用等。他已经很好地服务了我们的内部用户,同时也服务了不少外部用户,包括淘系、飞猪、阿里云、字节、腾讯、口碑、美团等。
  主要特性开箱即用:内置路由、构建、部署、测试、Lint 等,仅需一个 Umi 依赖即可上手开发。 企业级:蚂蚁集团 10000+ 应用的选择。同时也在阿里、字节、腾讯、网易、美团、快手等公司有大量应用。 最佳实践:内置微前端、数据流、权限、国际化、icons 方案、埋点、antd、请求、CSS 方案、图表等最佳实践。 可扩展:Umi 实现了 web 应用开发的完整生命周期,并使之插件化,包括 Umi 内部功能也是全由插件实现的。 完备路由:基于 React Router 6,类 Remix,支持嵌套、动态、动态可选、预加载、基于路由的请求优化等。 默认快:MFSU 解 Webpack 编译慢的问题,通过 esbuild 解压缩、配置、测试的性能问题,还有运行时... 双构建引擎:提供 Vite 和 Webpack 两种构建模式供开发者选择,并尽可能保证他们之间功能的一致性。 依赖预打包:Umi 针对依赖做了预打包处理,彻底地锁定依赖,定期更新,让框架的每个版本在 10 年后依旧可用。
  设计思路
  技术收敛:技术收敛对团队而言尤其重要,他包含两层含义,1)技术栈收敛 2)依赖收敛。技术栈收敛指社区那么多技术栈,每个技术方向都有非常多选择,比如数据流应该就不下 100 种,开发者应该如何选择;收敛了技术栈之后还需要收敛依赖,团队中,开发者的项目不应该有很多细碎的依赖,每一个依赖都附带着升级成本。
  我们希望开发者依赖 Umi 之后就无需关心 babel、webpack、postcss、react、react-router 等依赖,而依赖 @umijs/max 之后无需再关心开发中台项目的依赖和技术栈。
  插件和插件集:Umi 通过提供插件和插件集的机制来满足不同场景和业务的需求。插件是为了扩展一个功能,而插件集是为了扩展一类业务。比如要支持 vue,我们可以有 @umijs/preset-vue,包含 vue 相关的构建和运行时;比如要支持 h5 的应用类型,可以有 @umijs/preset-h5,把 h5 相关的功能集合到一起。
  如果要类比,插件集和 babel 的 preset,以及 eslint 的 config 都类似。
  企业级:npm 社区「世风日下」,涉政包、恶意包、广告求职包频出,所以如何确保不会「睡一觉醒来项目挂了」是面对企业生成提供服务的框架绕不开的一个点。
  Umi 通过写死版本、依赖预打包、通过 eslint hack 锁定 eslint 依赖,通过配置锁定 babel 补丁依赖等方式,让 Umi 不会在你重装 node_modules 之后就挂掉,并以此来实现「十年后依旧可用」。
  import all from umi:很多人可能都第一次听到。import all from umi 意思是所有 import 都来自 umi。比如 dva 不是 import { connect } from "dva",而是 import { connect } from "umi",从 umi 中导出。导出的方法不仅来自 umi 自身,还来自 umi 插件。
  这是两年前 Umi 3 加的功能,最近发现 Remix、prisma、vitekit 等框架和工具都有类似实现。 // 大量插件为 umi 提供额外导出内容 import { connect, useModel, useIntl, useRequest, MicroApp, ... } from "umi";
  这带来的好处是。通过 Umi 将大量依赖管理起来,用户无需手动安装;同时开发者在代码中也会少很多 import 语句。
  快速上手
  环境准备:首先得有 node,并确保 node 版本是 14 或以上。
  创建项目:
  先找个地方建个空目录。 $ mkdir myapp && cd myapp
  使用 NPM 创建项目, $ npx create-umi@latest Need to install the following packages:   create-umi@latest Ok to proceed? (y) y ✔ Pick Umi App Template › Simple App ✔ Pick Npm Client › npm ✔ Pick Npm Registry › taobao Write: .gitignore Write: .npmrc Write: .umirc.ts Write: package.json Copy:  src/assets/yay.jpg Copy:  src/layouts/index.less Write: src/layouts/index.tsx Copy:  src/pages/docs.tsx Copy:  src/pages/index.tsx Write: tsconfig.json Copy:  typings.d.ts   > postinstall > umi setup
  参数选项:
  使用 create-umi 创建项目时,可用的参数如下: --no-git 创建项目,但不初始化 Git --no-install 创建项目,但不自动安装依赖
  启动项目:
  执行 pnpm dev 命令, $ pnpm dev         ╔═════════════════════════════════════════════════════╗         ║ App listening at:                                   ║         ║  >   Local: https://127.0.0.1:8001                  ║ ready - ║  > Network: https://192.168.1.1:8001                ║         ║                                                     ║         ║ Now you can open browser with the above addresses ║         ╚═════════════════════════════════════════════════════╝ event - compiled successfully in 1121 ms (388 modules) event - MFSU compiled successfully in 1308 ms (875 modules)
  在浏览器里打开 http://localhost:8000/,能看到以下界面,
  —END—
  开源协议:MIT
  开源地址:https://github.com/umijs/umi

风暴来临,马云的预言又一次变成了现实!银行不改变,我们就改变银行这是马云曾经说过的话。最近大家是否发现,我们身边的银行正越来越少!刚刚传来重大消息工商银行,建设银行多个网点终止营业,其中包括工行上海大统支行,工行上海莘8天6人4000公里后,这是我对理想L8Pro的购买建议2020年春节假期,我租了一辆奔驰R500,准备带着一家人来个省内自驾游,先去广州从化泡个温泉,再到韶关爬爬丹霞山,返程去清远大峡谷看看。当时的疫情政策已经开始每天变化,我们到达从AI眼中的湖南ChatGPT竟熟知樟树港辣椒的多种吃法!还写了篇洞庭湖记2月10日,潇湘晨报晨视频记者与ChatGPT一起聊了聊岳阳。它不仅分享了岳阳的旅游攻略,介绍了岳阳东古湖观鸟注意事项,还分享了丰富的岳阳特产。但即使被称为当今最聪明的AI,在聊到平南镇苏湾村打造民俗田园综合体带动乡村生态游新天水记者王晓馨仿古城墙亭台楼阁水榭小桥2月9日,记者走进秦州区平南镇苏湾民俗庄园,独特的民俗风情画卷徐徐展开。近年来,苏湾村以发展乡村旅游为载体,深入挖掘农耕文化,将农耕民俗与旅湖北与河南的区划调整,16个县入豫14年,为何又划入了湖北省?在之前的文章中,作者和大家聊了一系列关于我国湖北省与周边各省区划变迁的故事,例如湖北省与安徽省湖北省与湖南省湖北省与陕西省之间的区划变迁。今天,我们聊聊湖北省与河南省之间的区划调整慈禧丑陋吓人?原来老佛爷长这样慈禧慈禧太后又称西太后老佛爷,在清朝最后几十年的光景里,实际上大清王朝的掌权人则是慈禧太后。她晚清重要政治人物,是清朝同治光绪时期的实际统治者,前后掌晚清政权近半个世纪。咸丰帝的妃温体仁辅驱逐异己而不留痕迹,连疑心很重的崇祯也常常浑然不觉大明日落崇祯王朝的人和事君贤臣佞大明最后的宰相们伴君如伴虎。不知道是不是遗传基因的作用,论起对手下臣子的刻薄来,明朝末代皇帝朱由检和他的杀人如麻的老祖宗朱元璋颇为相似。因此,能在崇现在还有人以为他矮丑?最近看了一些的有关秦始皇的内容,又想聊聊,来说说我心中的嬴政。说到秦始皇很多人都想到统一六国,统一文字度量衡的春秋伟业,那么秦始皇的长相真如历史课本上那样吗?根据礼纬的记载,秦始皇封狼居胥霍去病早逝之谜是功高震主,还是病故而亡?西汉时期,匈奴发展至鼎盛。此时的匈奴大军已经占据了大部分蒙古草原,要想继续扩张发展便需挥军南下,攻占中原土地。西汉时期,匈奴一方不断骚扰汉朝边境地区,给予汉朝很大的威胁,且匈奴与汉太平天国最后的送终者忠王李秀成忠王李秀成画像太平天国军中能能称得上政治家的有两个人,前期是冯云山,后期则是李秀成。冯云山为太平天国接生而李秀成呢则是为太平天国送终。今天我们就说说这个人。李秀成有一个超级粉丝,就朱安为生计求日本人,变卖鲁迅遗物被阻后,曾用7字评价许广平好内容我来评1899年,浙江绍兴。家道中落时运不济的朱家,终于迎来一件大喜事。已经23岁的女儿朱安,就要订婚了!早年,始终把女儿视为掌上明珠的朱家父母,挑选女婿的标准很是苛刻因为总
可能的不明飞行物驾驶者,藏在深层的外星人上期我们介绍了国内外互联网上有名的五种外星人,这期我们继续来看另外几个有名的外星文明。1叶海尔人研究外星人的爱好者一致认为与人类首次接触的外星人既是叶海尔人,不同于小灰人视人类为草与宇宙对话!天府宇宙线研究中心入驻成都科学城2月13日,天府宇宙线研究中心(下称研究中心)入驻成都科学城揭牌仪式举行。该中心由中国科学院高能物理研究所设立,依托国家重大科技基础设施高海拔宇宙线观测站拉索(LHAASO)建设并我国天文学家发现222颗热亚矮星12日,记者从中科院国家天文台获悉,利用郭守敬望远镜(LAMOST)光谱数据和盖亚(Gaia)卫星数据,我国天文学家发现和证认了222颗热亚矮星,其中131颗是复合光谱型热亚矮星,基于PD17的Windows11ARM版初步体验注意由于Windows11ARM不断在更新,ParallelsDesktop对M1系列芯片的适配也一直处于不断完善的情况,因此本文只代表截至发表日期时的体验情况,仅供参考。等你看到索尼电视新品传闻汇总正常迭代略有升级,发布会二月底开?在上个月初的CES上,我们其实非常期待能看到索尼在2023年的新品,但很遗憾的是索尼和飞利浦两家电视公司,是唯二没有在CES上发布任何电视信息的厂商,飞利浦甚至都直接缺席了CES大海南三支足球队角逐国内高水平大赛新海南客户端南海网南国都市报2月13日消息(记者陈望)2月13日,记者从海南省足协获悉,海南两支青少年和一支成年女足出岛征战全国青少年和全国女足锦标赛。他们分别是省足协中海U14队丹尼格林已和火箭达成买断协议,将签约骑士据ESPN记者Woj报道,老将丹尼格林已经与火箭达成买断协议,将在澄清期过后以一年200万美元的价格签约骑士。据Woj透露,除骑士外,凯尔特人湖人太阳也都对格林表达了兴趣。在交易截必须承认,NBA有史以来单核夺冠只有过3次19年伦纳德不算单核夺冠,不是说一个人带领球队夺冠,毕竟篮球是团队运动,能夺冠每个人都有功劳。所谓单核,那就是球队就一个绝对核心,其他队友实力跟核心比起来差距很大,而且比赛中贡献也很有限,必须依赖塔图姆持续低迷16中3,凯尔特人依旧压制灰熊,莫兰特真打不过头条创作挑战赛NBA常规赛,凯尔特人主场119比109击败灰熊,取得4连胜,继续排名东部榜首!如今的凯尔特人打法稳定硬朗,队内有很多能为球队提供帮助的角色球员,虽然杰伦布朗因为被塔绿军对灰熊血脉压制阵容不整无碍三分爆发莫兰特名言说对一半大家好,我是183蒙面男子。今天一场NBA对决,凯尔特人队主场以119109击败灰熊队,送上关于这场比赛的5句话球评。1。对于凯尔特人队来说,又是一场阵容不齐的比赛,又是一场面对联戴德蒙有望加盟湖人!补强内线顶替托布辅佐詹皇搭档浓眉组双塔据NBA名记Shams报道,戴德蒙在被交易至马刺后将被裁并进入自由球员市场。而前不久在交易截止日进行大换血的湖人对这名经验丰富的老将表达了浓厚的兴趣。球员分析戴德蒙在马刺时期就展示