你们怎么处理私有的 Nodejs 包?
你们怎么处理私有的 Nodejs 包?
现在我在本地用 npm link 处理,很不方便啊,比如
1 )没有 semver 功能了,不同 app 用到不同版本不好处理。
2 )打包部署到服务器不方便,毕竟服务器不能访问到本地的包,我现在是用自动脚本提取出所有本地包复制到打的包里,可是有很多限制,而且对于私有包再依赖私有包不知道要怎么处理,还是要有一个象 npm 那样的包注册中心才好。
npm 有私有包,不过要$7/月,个人用太贵了。
自建 npm
或者 package 里填写依赖时使用 github 地址 不过这需要 github 上有私有项目。不如自建 npm 方便
https://xcoder.in/2016/07/09/lets-cnpm-base-deploy/ 参考这篇文章可以搭建私有的 npm registry
Git submodule
没啥用啊,一旦你用 Babel/CoffeeScript/TypeScript 之后,除非把编译后的文件也加入仓库…
私有 git 仓库就行了
可以用 cnpm 打造私有 npm 仓库
我们现在是用 sinopia 搭建私有仓库,然后再把源码放到私有 git 仓库中。我们 team 的规模不大,使用上没有遇到什么问题,搭建起来也很快。你可以参考下。
是应该把编译后的加入啊,不然你引用的时候怎么办?
我没说编译后的文件不应该加入 npm 包,我说的是编译后的文件不应该加入 git 仓库。
cnpm + scoped packages
我们用 Nexus Repository OSS 自己搭的仓库,支持类型挺多的, npm 、 maven 还有 docker 等
在处理私有的Node.js包时,我们通常会采取以下步骤来确保包的安全性和可管理性:
-
配置私有源:
- 在
.npmrc
文件中配置私有npm仓库的地址,以及登录凭证(如authToken)。
registry=https://your-private-registry.com/ _authToken=your-auth-token
- 在
-
登录私有源:
- 使用
npm login
或npm adduser
命令登录到私有npm仓库,输入用户名、密码和邮箱。登录成功后,npm会自动在.npmrc
文件中生成_authToken
。
- 使用
-
安装私有包:
- 使用
npm install <package-name>
命令安装私有包。npm会从配置的私有源中下载并安装该包。
- 使用
-
发布私有包:
- 在要发布的包目录下,使用
npm publish
命令将包发布到私有源。确保包名、版本号等信息正确无误。
- 在要发布的包目录下,使用
-
版本管理:
- 在
package.json
文件中指定依赖包的版本号,并使用语义化版本规范(SemVer)来管理版本。这样可以确保在不同开发环境中的一致性。
- 在
-
安全性:
- 定期更新依赖包,避免使用过时或有安全漏洞的版本。
- 使用
npm audit
命令检查依赖包的安全性,并修复发现的问题。
通过以上步骤,我们可以有效地管理私有的Node.js包,确保项目的稳定性和安全性。