腾讯无界微前端源码分析

1.环境准备,node,pnpm,lerna,webpack,webpack-cli

node版本最好使用14的,相关的pnpm,lerna,webpack,webpack-cli需要适配node14,不然无法启动项目;

lerna.json配置文件中规定了"npmClient": "pnpm",pnmp的配置文件pnpm-workspace.yaml,因此本地环境必须先安装pnpm;

2.知识储备

https://pnpm.io/zh/ pnmp中文网,

https://lerna.nodejs.cn/ lerna 中文网,

https://webpack.docschina.org/ webpack 中文网

3.目录结构分析

docs:文档,使用vitepress技术构建

examples:例子

packages:核心源码,打包输出给例子用,无界微前端核心源码;

scripts:每个脚本的主要作用(local-vue2-build.sh举例:定位到项目根目录, 构建 vue2 示例(examples/vue2), 清理旧构建产物, 移动新构建产物到 demo-vue2 目录, 复制 index.html → 404.html(SPA 回退支持), Git 提交并推送到远程(自动部署))

4.启动项目步骤

4.1在项目根目录下运行命令:pnpm i ,pnpm会根据配置文件pnpm-workspace.yaml,查找相关目录下的所有package.json安装相关依赖,生成node_modules文件;

4.2源码构建组件输出

因为例子里面的examples\main-vue\package.json ==> "wujie": "workspace:^1.0.29",里面的工作空间协议 (workspace:)https://pnpm.io/zh/workspaces,规定了从本地引用wujie\wujie-vue2\wujie-vue3,所以先在packages包下面执行构建命令,构建到相关的lib下面

4.3启动例子

可以单独启动:

也可以用lerna命名一键启动所有例子:

相关推荐
李姆斯4 小时前
为啥Agent在coding表现这么好,但是在别的领域就是差的不少?
前端·agent·ai编程
鱼与宇7 小时前
前端Web(html+css+js+vue3)
前端
雪芽蓝域zzs9 小时前
(六)打包优化 + Nginx 部署完整配置 + 项目收尾
前端·vue.js
研☆香9 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
东风破_9 小时前
JWT 1:从一个登录请求开始,理解 React 项目里的 API 层与 Mock
前端·后端
东风破_9 小时前
JWT 3:为什么 Token 要放进 Authorization?Axios 拦截器到底解决了什么?
前端·后端
东风破_9 小时前
JWT 5:路由守卫是什么?把整个 JWT 登录鉴权流程串起来
前端·后端
东风破_9 小时前
JWT 2:HTTP 是无状态的,为什么登录成功后还要给 Token?
前端·后端
东风破_9 小时前
JWT 4:Zustand 到底解决了什么?为什么登录状态要放进 Store?
前端·后端
IT_陈寒9 小时前
Vite动态导入差点让我秃头,原来问题出在这
前端·人工智能·后端