Vue 组件管理的新趋势!以后可能不再需要组件库了?

前端私教训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer 已帮助数百位同学拿到了中大厂 offer

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~

这几天在想一个前端团队的现状,现在一个前端团队肯定不止一个项目,而这些前端项目可能都会有一些共用的组件

所以很多公司内部开发了内部的组件库,以供各个项目去使用,比如下图,各个项目共同使用同一个组件库


当组件库升级的时候,各个项目想要使用最新的组件功能,也得跟着升级依赖组件库的版本号,并且重新将项目上线,就比如 1.0 -> 2.0


总感觉挺麻烦的,所以在想:有没有办法,只需要组件库升级,而项目并不需要去更新依赖包呢,甚至可以做到项目不需要重新上线,就能获取最新的组件功能?

别把组件库当依赖包?

刚刚说到当组件库升级的时候,项目的依赖版本也得跟着升级,那是因为我们项目将组件库当成了依赖包,放在node_modules 中

那么如果我们可不可以别把组件库当依赖包呢?也就是我们并不需要去安装它们,就能使用它们~这样的话组件库升级,我们就不用也跟着升级依赖包了~

我们去掉了 node_modules 这一层,这样组件库升级,我们项目其实也可以做到不去关心版本号



不安装,怎么使用组件库?

但是如果我们不安装,该怎么去使用组件库呢?其实是有办法的: 通过HTTP网络请求去请求组件库代码,解析代码后进行渲染

  • 1、将组件库代码放在一个静态服务上
  • 2、项目中使用网络去请求对应的组件代码
  • 3、解析代码,并进行渲染

这也就是 Vue 的 远程加载组件


实践

接下来实践一下远程加载组件

Express 搭建静态服务

先用Express搭建一个简单的静态服务,并放置一些组件

  • components目录: 放置一些远程组件代码
  • index: 静态服务入口


首先看看 index.js 的代码,用来作为静态服务的入口


再分别看看RemoteComp-A.js、RemoteComp-B.js 的代码,分别是两个组件的代码



接着在终端输入:

node index.js

即可启动服务,现在可以在网页中看能不能访问到组件代码,如果可以说明服务启动成功了~


项目中远程加载组件

接着需要在项目中去通过网络请求获取组件代码,并进行解析渲染:

  • 1、通过fetch去请求对应的组件代码
  • 2、使用new Function进行代码执行获取
  • 3、传入 component 的 is 进行渲染


最终能达到加载远程组件的效果~


结语

我是林三心,感谢您的阅读~

1v1私教、找工作、全程陪跑、终身服务

推荐一个非常靠谱的 Sunday 老师目前在做一个【1v1前端私教训练营】主打的就是:1v1 私教,终身辅导,帮大家拿到满意的 offer 点击这里即可查看详情

可直接加 Sunday老师 微信沟通,回复【资料】可直接领取 Sunday独家整理 大厂面试题、大厂真实面经

相关推荐

  • 重磅推荐:一个开源的即时通讯应用 Tailchat
  • 两个各有特长的即时通讯开源项目
  • 2024年最新的50个AI工具来了,网友评论:yyds!这也太好用了!
  • 2B业务的苦与乐: 白鲸开源CEO对话神策CEO桑文锋
  • 聊一聊字符串常见操作的源码实现
  • 高性能短链设计
  • 推荐几个适合Java开发者的免费IDEA插件
  • 如何解决 WebClient Connection Reset by Peer错误
  • 【超实用攻略】SpringBoot + jackson 轻松搞定数据脱敏
  • 六年了,我终于成为了 Kaggle GrandMaster 。
  • 涨见识!!!谁说PLC轮询通信很简单???
  • 29.3K Star重生!!!一个前端UI框架的大起大落
  • Spring Boot集成syslog快速入门Demo
  • 揭秘支付对账:确保每一分钱的安全之旅
  • [开源]一个使用简单且功能强大的自动化测试基础框架,操作易上手
  • 发现一个冷门生意:微信有几百个同城好友就能赚钱
  • 豆包的浏览器插件上线了播客和视频总结功能;DomoAI唇形同步功能已升级
  • SpringBoot 自定义启动画面
  • 急缺!高校GPU告急,李飞飞辛顿求救
  • AI引爆计算格局变革,“Arm技术授权订阅”一揽子解决创“芯”焦虑