本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1、 点击左侧菜单栏Repositories,我们可以看到很多已经配置好的仓库,一般只使用开源jar就够用了,如果需要建立自定义仓库,点击Create repository创建新的仓库
2、 首先我们要创建几个常用的代理源,用于常用开源npm模块的拉取
3、 添加代理(Cache统一设置为200天 288000)
4、重复第3步设置
5、 创建npm-hosted ,用于发布个人开发的npm组件
6、 创建npm-public ,用于把几个仓库组组合在一起公开连接使用。
说明
默认仓库说明
npm-proxy:可以代理npmjs和淘宝镜像
npm-hosted:用于上传、自定义和个人开发的npm组件
npm-public:仓库分组,把几个仓库组组合在一起使用。
仓库类型
Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。maven-public就是一个Group类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x默认Releases,Snapshots, Central,当然你也可以自己设置。
Hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的jar文件
3rd party:未发布到公网的第三方jar (3.x去除了)
Snapshots:本地项目的快照仓库
Releases: 本地项目发布的正式版本
Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径),如可配置阿里云maven仓库
Central:中央仓库
Apache Snapshots:Apache专用快照仓库(3.x去除了)
修改本地Npm连接源
打开Repositories,找到创建的分组npm-public,点击Copy,复制连接源地址
npm config set registry http://172.16.92.74:9998/nexus/repository/npm-public/
发布自己的npm组件到私服
登录私服
npm login –registry=http://172.16.92.74:9998/nexus/repository/npm-hosted
发布npm组件
要发布的模块,必须保证在根目录下有package.json文件,否则会报错
npm publish –registry=http://172.16.92.74:9998/nexus/repository/npm-hosted/
发布npm组件
要发布的模块,必须保证在根目录下有package.json文件,否则会报错
npm publish –registry=http://172.16.92.74:9998/nexus/repository/npm-hosted/
批量发布脚本:
#!/bin/bash
for module in /opt/node_modules/*
do
if test -d $module
then
if [ -f "$module/package.json" ];then
echo $module
cd $module
npm publish
else
for sub in $module/*
do
if test -d $sub
then
if [ -f "$sub/package.json" ];then
echo $sub
cd $sub
npm publish
fi
fi
done
fi
fi
done```