云端IDE系列教程9:在 TitanIDE 部署 NPM 私有仓库

2023-03-22

795

前言


出于自身隐私保护需要,不想把自己的代码开源到包管理区,但是又急需一套完整的包管工具来管理越来越多的组件、模块和项目。其中 npm yarn bower 都是前端用得比较多的包管理工具。但随着 commonjs 的日益规范,npm 更是成为了大多数前端人员的选择。而 TitanIDE 作为一个完善成熟的在线 IDE 工具,自然也是可以满足内部开发人员的需要,构建一个私有仓库来使用的。


其中 Sinopia 是一个部署简易的可以实现github仓储私有化的npm组件。


如图所示:


云端IDE


客户端发起npm请求后,发送到服务器,当请求到sinopia后,他会先进行权限验证(如果设置),通过验证之后就在本地文件系统中寻找对应的npm包,如果不存在则向上游链接(uplinks)配置的地址发请求。


为什么选择 Sinopia?


• 不需要同步拉取npm库,占用大量硬盘空间;

• 安装配置简单,不需要数据库的配合;

• 支持配置上游 registry 配置,一次拉取即缓存;

• 支持 pm2 守护进程管理自动负载均衡。


新建项目


首先我们需要在 TitanIDE 中新建一个项目,这里也可以是其他的模板,sinopia 需要用到 node 环境,我们提供的官方模板都安装了该环境。


TitanIDE云原生开发


Sinopia 的安装与启动



以下是启动后的页面:




创建 Sinopia 账户



Sinopia 的使用


在启动 Sinopia 之后会监听一个指定端口,通过我们的设置可以将它把地址暴露到外面访问,这里我们需要把使用子域名勾选上。




这时你的开发组成员就可以使用这个源地址去拉取推送这些 npm 包了,这里先对源进行设置。



发布 npm 包




使用 NPM 包


我们在上个步骤中推送了 test@1.0.0 的包,这时候我们来试试,然后再安装一个该私有仓库中不存在的 NPM 包 moment 看是否也能正常安装。




很显然我们得到了正确的结果,一个是部署在 NPM 私有仓库的 test 包,一个是从上游 NPM 源安装的 moment,那么只要我们的这个项目一直在 TitanIDE 中运行,它就可以一直被公司内部的开发人员所使用。


总结


TitanIDE 它不仅仅是一个在线 IDE,还是一个具备便捷编写代码、快速部署应用、隔离开发环境、分类管理项目的工具,另外它的扩展性可以让你实现很多便于开发的工具链,并且能和其他人员共享使用。



戳链接,立即体验TitanIDE>>

技术交流
我们建立了多个云原生技术交流群,其中有来自Oracle、Citrix、华为、腾讯等国内外云计算专家,立即扫码,拉你进群。目前已有2000+开发者加入我们......
云原生厂商 云原生技术服务商
在云原生时代,kaiyun开云创新致力于通过赋能开发者,实现企业快速迭代与交付,大幅提升创新效率。
产品下载