前端如何将多个项目的页面代码共享一份?

2024-01-09 11:30:09 +08:00
 tomiaa
两个项目都用到了一个页面,现在是 a,b 项目两份一样的代码,有什么好的方法把两个项目的这个页面都用一份代码吗

我想要实现这个代码改了之后两个项目都同时变,而不是改一个需求两个项目都要去改一下

公司没有 npm 服务器,而且两个项目都是分开的 git 仓库我也没权限把两个仓库整合成 monorepo
1484 次点击
所在节点    前端开发
12 条回复
Imindzzz
2024-01-09 11:39:57 +08:00
git submodule
yl20181003
2024-01-09 11:51:51 +08:00
试试 MicroApp 或者 Module Federation 单独部署一份,a ,b 两个项目各自加载一遍
XCFOX
2024-01-09 12:15:32 +08:00
npm pack 一下会得到一份模块压缩包。把这个压缩包扔到 oss 上,或者再开一个仓库专门用来存模块包,或者直接把模块扔 a,b 项目仓库里。

从 url 安装模块:npm install https://github.com/indexzero/forever/tarball/v0.5.6
从 本地安装模块: npm install ./package.tgz

参考:
https://docs.npmjs.com/cli/v10/commands/npm-pack
https://docs.npmjs.com/cli/v10/commands/npm-install
https://pnpm.io/zh/cli/pack
https://pnpm.io/zh/cli/install
https://yarnpkg.com/cli/pack
https://yarnpkg.com/cli/add
sqlNice
2024-01-09 16:34:19 +08:00
感觉还是 git submodule 或者 git subtree 合适。你只需要提取公共代码放在一个单独的 git 仓库里,然后这两个项目进行引用就可以了
flyPig9527
2024-01-09 16:45:30 +08:00
没有私有的 npm 服务器,还是搞个公共 npm 包吧,不是什么很大的商业机密是不会有人在意的
flyPig9527
2024-01-09 16:48:57 +08:00
npm 也能按照公司内网的 gitlab 项目,可以在公司内网的 gitlab 建个仓库,npm install 下来也行
tool2d
2024-01-09 16:52:17 +08:00
小项目整那么复杂,直接文件夹同步过去。
Baymaxbowen
2024-01-09 17:26:27 +08:00
微应用包一下 A 做主应用,B 做子应用,这个页面写在 B 项目里面,在 A 应用里面引用 B ,可以使用 qiankun 、MicroApp 、Module Federation 来实现,如果要再简单可以使用 iframe 实现
laoona
2024-01-09 18:43:14 +08:00
pnpm 的 workspace 能否实现?
zsj1029
2024-01-09 18:47:54 +08:00
Lerna 主推
rush js 微软的也可以
Monorepo 应该是属于这个需求吧
web1996
355 天前
直接将这个页面输出一个 js 文件来引用,可不可以。
heishu
258 天前
楼主最后采用哪种方案了??

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1007099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX