通过编译构建任务发布/获取Npm私有组件
本文档介绍如何通过编译构建任务发布私有组件到Npm私有依赖库、如何从Npm私有依赖库获取依赖包完成编译构建任务。
前提条件
- 已有可用项目。如果没有项目,请先新建CodeArts项目。
- 已创建Npm格式私有依赖库。
- 请添加当前账号对当前私有库的权限,请参考管理用户权限。
发布私有组件到Npm私有依赖库
- 下载私有依赖库配置文件。
- 登录软件开发生产线,进入Npm私有依赖库。单击页面右侧“设置仓库”,记录仓库的路径。
- 单击“取消”返回私有依赖库页面,单击页面右侧“操作指导”。
- 在弹框中单击“下载配置文件”。
- 在本地将下载的“npmrc”文件另存为“.npmrc”文件。
- 登录软件开发生产线,进入Npm私有依赖库。单击页面右侧“设置仓库”,记录仓库的路径。
- 配置代码仓库。
- 配置并执行编译构建任务。
- 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
在页面中选择“空白构建模板”,单击“下一步”。
- 添加步骤“Npm构建”。
- 编辑步骤“Npm构建”。
- 工具版本按照实际选择,本文中选择“nodejs12.7.0”。
- 删除已有命令行,输入以下命令:
export PATH=$PATH:/root/.npm-global/bin npm config set strict-ssl false npm publish
- 单击“新建并执行”,启动构建任务执行。
待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的Npm私有组件。
- 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
从Npm私有依赖库获取依赖包
以发布私有组件到Npm私有依赖库中发布的Npm私有组件为例,介绍如何从Npm私有依赖库中获取依赖包。
- 配置代码仓库。
- 进入代码托管服务,创建Node.js代码仓库(操作步骤请参考创建云端仓库)。本文使用模板“nodejs Webpack Demo”创建代码仓库。
- 参考发布私有组件到Npm私有依赖库,获取“.npmrc”文件并上传至需要使用Npm依赖包的代码仓库根目录中。
- 在代码仓库中找到“package.json”文件并打开,将依赖包配置到dependencies字段中,本文中配置的值为:
"@test/vue-demo": "^1.0.0"
- 配置并执行编译构建任务。
- 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
在页面中选择“空白构建模板”,单击“下一步”。
- 添加步骤“Npm构建”。
- 编辑步骤“Npm构建”。
- 工具版本按照实际选择,本文中选择“nodejs12.7.0”。
- 删除已有命令行,输入以下命令:
export PATH=$PATH:/root/.npm-global/bin npm config set strict-ssl false npm install --verbose
- 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
- 单击“新建并执行”,启动构建任务执行。
待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。
Npm命令简介
在编译构建任务命令行中,还可以配置如下Npm命令,以完成其它功能:
- 删除私有依赖库中已存在的私有组件
npm unpublish @socpe/packageName@version
- 获取标签列表
npm dist-tag list @scope/packageName
- 新增标签
npm dist-tag add @scope/packageName@version tagName --registry registryUrl --verbose
- 删除标签
npm dist-tag rm @scope/packageName@version tagName --registry registryUrl --verbose
命令行参数说明:
- scope:私有依赖库路径,查看方法请参考发布私有组件到Npm私有依赖库。
- packageName:“package.json”文件中,name字段中scope之后的部分。
- version:“package.json”文件中,version字段对应的值。
- registryUrl:私有库配置文件中的对应scope的私有库地址url。
- tagName:标签名称。
以发布私有组件到Npm私有依赖库发布的私有组件为例:
- scope对应的值为“test”。
- packageName对应的值为“vue-demo”。
- version对应的值为“1.0.0”。
因此,删除此组件的命令应为:
npm unpublish @test/vue-demo@1.0.0