我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋、象棋等游戏。这些游戏是不同的前端项目,而这些项目有很多公共依赖,我是如何管理的呢?是如何做方案选型的呢?
今天,我先介绍5种前端代码共享方案,我使用的方案就是从这5种中选择的2种。这五种包括:
被共享的代码作为npm包,由引用方通过npm install
安装。
很多人认为,自己开发都是私有库,是不是不能用npm了?你可能以为npm必须发布到公开的,才能用。
其实不是这样的,npm也可以从git仓库安装依赖。你可以不发布到npm,也可以只把产物(或源码)上传git仓库。
所以个人开发者也能用npm,只是我认为效率不高罢了,不如直接用 git submodules。
我在文章《Git Submodules 介绍(通俗易懂,总结了工作完全够用的 submodule 命令)》详细介绍了 Git Submodules,强烈建议阅读。
举个例子,create-react-app
、vite
等都有一些初始化项目的模板。其实大多数前端项目都是以这些模板为起点,逐渐迭代。而且很多公司都有自己的项目脚手架,有自己的独特的模板。这些模板,也属于是代码共享方案。
注意,使用脚手架模板需要谨慎。你每发布的一个版本必须是长期可用的、或者更新成本极低的。这并不容易,我之后会发文章详细聊聊,如何做好「脚手架模板生成」。
就是把你需要的函数复制到本仓库来。有点类似于「脚手架模板生成」,但又不太一样。
例如通过script
脚本引入,或者通过Webpack5的模块联邦引入。(我把他们放一起,是因为他们思想上是一致的,只是实现方式不同)
我是HullQin,公众号线下聚会游戏的作者(欢迎关注我,交个朋友)。转发本文前需获得作者HullQin授权。我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋、象棋等游戏,不收费无广告。还开发了《Dice Crush》参加Game Jam 2022。喜欢可以关注我噢~我有空了会分享做游戏的相关技术,会在这个专栏里分享:《教你做小游戏》。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。