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

121 天前
 tomiaa
两个项目都用到了一个页面,现在是 a,b 项目两份一样的代码,有什么好的方法把两个项目的这个页面都用一份代码吗

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

公司没有 npm 服务器,而且两个项目都是分开的 git 仓库我也没权限把两个仓库整合成 monorepo
1025 次点击
所在节点    前端开发
11 条回复
Imindzzz
121 天前
git submodule
yl20181003
121 天前
试试 MicroApp 或者 Module Federation 单独部署一份,a ,b 两个项目各自加载一遍
XCFOX
121 天前
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
121 天前
感觉还是 git submodule 或者 git subtree 合适。你只需要提取公共代码放在一个单独的 git 仓库里,然后这两个项目进行引用就可以了
flyPig9527
121 天前
没有私有的 npm 服务器,还是搞个公共 npm 包吧,不是什么很大的商业机密是不会有人在意的
flyPig9527
121 天前
npm 也能按照公司内网的 gitlab 项目,可以在公司内网的 gitlab 建个仓库,npm install 下来也行
tool2d
121 天前
小项目整那么复杂,直接文件夹同步过去。
Baymaxbowen
121 天前
微应用包一下 A 做主应用,B 做子应用,这个页面写在 B 项目里面,在 A 应用里面引用 B ,可以使用 qiankun 、MicroApp 、Module Federation 来实现,如果要再简单可以使用 iframe 实现
laoona
121 天前
pnpm 的 workspace 能否实现?
zsj1029
121 天前
Lerna 主推
rush js 微软的也可以
Monorepo 应该是属于这个需求吧
web1996
78 天前
直接将这个页面输出一个 js 文件来引用,可不可以。

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

https://www.v2ex.com/t/1007099

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

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

© 2021 V2EX