• npm 私有源配置

    本文主要说明如何配置 npm 私有源以及配置之后如何使用私包进行前端开发。

    配置

    1. 创建私有源

    私有源可以根据情况申请汉得私有源或自行搭建私有仓库(这里不做展开)。 需要注意,创建的私有仓库得是 npm 仓库。

    一般情况下,有两个仓库:

    npm源

    创建的私有源仓库需是 hosted 类型。

    2. 发布代码到私有源

    Hzero 前端是使用多包多模块的开发方式,每一个包模块都能单独发布 npm 包;要求项目的开发方式需遵循该开发方式,子模块的代码务必放置在 packages目录下。

    2.1 配置权限

    在发布私有源前,需要配置 npm 权限

    echo -n 'username:password' | openssl base64
    
    npm config edit
    

    使用上一步生成的密码设置 _auth,同时设置 always-auth=true

    npm config

    或者

    npm config set always-auth true
    
    npm config set _auth xxxx
    

    2.2 更改版本号

    找到待发布模块的 package.json 文件,更改 version 字段的版本。

    发布的版本需要遵循 npm 社区发版规则:

    根据具体情况选择要发布的版本类型。

    注意:

    1. 待发布模块的 package.json 文件中如有 private 字段,需将其去掉。
    1. package.json 中的 name 字段需唯一。
    1. 检查待发布模块 package.json中的publishConfig 的 registry值,该值默认为 Hzero 前端私有源,需要设置为自定义的私有源地址。

    2.3 编译代码

    进入待发布的子模块目录下,运行以下命令,生成lib文件:

    yarn transpile
    # or
    lerna run transpile
    

    2.4 publish

    在待发布的子模块内,执行以下命令:

    # 如果已经配置package.json 中的 publishConfig 字段,在此可以省略--registry
    npm publish [--registry <url>]
    # 要发布测试版本或者其他版本请加上 tag 属性
    npm publish xxx [--registry <url>] [--tag <alpha | beta | rc>]
    

    注意:这里的url是上文创建的hosted类型的私有源仓库。

    3. 安装发布过的 npm 依赖

    当某个项目要使用发布过的 npm 依赖时,和使用 npm 或者 yarn 安装一个公网依赖无差别,仅仅需要指定私有源地址:

    yarn add xxx --registry 私有源地址
    # or 
    npm install --registry 私有源地址
    

    要安装alpha/beta/rc版本时,请指定版本号

    yarn add xxx@1.0.0-beta.0 --registry 私有源地址
    

    或手动修改 package.json 中依赖的版本号,然后执行安装命令

    yarn add --registry 私有源地址
    

    注意:这里的私有源地址是上文创建的group类型的仓库组。