如何通过npm publish --registry在Nexus实现版本化文件夹层级?
Nexus仓库按版本号构建层级结构的配置方案
核心结论
要实现你期望的Nexus层级结构,主要在package.json中配置,命令行仅需补充必要参数。
具体操作步骤
1. 调整package.json基础配置
将name字段设置为你的项目根目录名(比如ProjectName),确保无多余前缀;版本号保持X.X.X格式即可,Nexus会自动识别生成vX.X.X子目录:
{ "name": "ProjectName", "version": "1.0.0", // 其他项目配置... }
2. 流水线中生成指定 artifacts
在npm publish前,先执行打包命令生成你需要的artifacts.zip:
# 示例:将项目产物打包为指定文件名 zip -r artifacts.zip ./dist ./docs
3. 修改npm publish命令
npm默认上传package本身的文件,要上传自定义zip包,需用--package参数指定目标文件,同时保留registry配置:
npm publish artifacts.zip --registry $Nexus_REPO_URL
关键提示
- Nexus会自动根据
package.json的name创建根目录,根据version生成对应版本子目录 - 每次发布前需确保
package.json的version已更新,可在CI流水线中用npm version patch/minor/major命令自动升级版本
内容的提问来源于stack exchange,提问作者Smile Kisan
相关产品推荐
相关产品推荐

