文档首页/ 制品仓库 CodeArts Artifact/ 快速入门/ 通过编译构建任务发布/获取Npm私有组件
更新时间:2024-09-19 GMT+08:00
分享

通过编译构建任务发布/获取Npm私有组件

本文档介绍如何通过编译构建任务发布私有组件到Npm私有依赖库、如何从Npm私有依赖库获取依赖包完成编译构建任务。

前提条件

  • 已有可用项目。如果没有项目,请先新建CodeArts项目
  • 已创建Npm格式私有依赖库。
  • 请添加当前账号对当前私有库的权限,请参考管理用户权限

发布私有组件到Npm私有依赖库

  1. 下载私有依赖库配置文件。

    1. 登录软件开发生产线,进入Npm私有依赖库。单击页面右侧“设置仓库”,记录仓库的路径。

    2. 单击“取消”返回私有依赖库页面,单击页面右侧“操作指导”
    3. 在弹框中单击“下载配置文件”

    4. 在本地将下载的“npmrc”文件另存为“.npmrc”文件。

  2. 配置代码仓库。

    1. 进入代码托管服务,创建Node.js代码仓库(操作步骤请参考创建云端仓库)。本文使用模板“nodejs Webpack Demo”创建代码仓库。
    2. 进入代码仓库,将“.npmrc”文件上传至代码仓库的根目录中。

    3. 在代码仓库中找到“package.json”文件并打开,将在“编辑私有依赖库”页面中记录的路径信息添加到name字段对应的值中。

      实际操作中,若出现name字段的值固定且不便修改的情况,则可以在“编辑私有依赖库”页面将该值配置到“添加路径”字段中。

  3. 配置并执行编译构建任务。

    1. 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。

      在页面中选择“空白构建模板”,单击“下一步”

    2. 添加步骤“Npm构建”

    3. 编辑步骤“Npm构建”
      • 工具版本按照实际选择,本文中选择“nodejs12.7.0”
      • 删除已有命令行,输入以下命令:
        export PATH=$PATH:/root/.npm-global/bin
        npm config set strict-ssl false
        npm publish

    4. 单击“新建并执行”,启动构建任务执行。

      待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的Npm私有组件。

从Npm私有依赖库获取依赖包

发布私有组件到Npm私有依赖库中发布的Npm私有组件为例,介绍如何从Npm私有依赖库中获取依赖包。

  1. 配置代码仓库。

    1. 进入代码托管服务,创建Node.js代码仓库(操作步骤请参考创建云端仓库)。本文使用模板“nodejs Webpack Demo”创建代码仓库。
    2. 参考发布私有组件到Npm私有依赖库,获取“.npmrc”文件并上传至需要使用Npm依赖包的代码仓库根目录中。
    3. 在代码仓库中找到“package.json”文件并打开,将依赖包配置到dependencies字段中,本文中配置的值为:
      "@test/vue-demo": "^1.0.0"

  2. 配置并执行编译构建任务。

    1. 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。

      在页面中选择“空白构建模板”,单击“下一步”

    2. 添加步骤“Npm构建”

    3. 编辑步骤“Npm构建”
      • 工具版本按照实际选择,本文中选择“nodejs12.7.0”
      • 删除已有命令行,输入以下命令:
        export PATH=$PATH:/root/.npm-global/bin
        npm config set strict-ssl false
        npm install --verbose

  3. 单击“新建并执行”,启动构建任务执行。

    待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。

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

相关文档