当前位置:   article > 正文

Nexus 批量发布npm包_download-tgz

download-tgz

内网使用nexus搭建npm私服后,肯定是要上传一些常用的开发包的

一、外网下载需要的包

(1)创建一个package.json,并写上自己想要的包及其版本,如想要下载5.3.3的echarts

  1. {
  2. "dependencies": {
  3. "echarts": "5.3.3"
  4. }
  5. }

(2)利用node-tgz-downloader下载需要的依赖的tgz格式的包,这里可以参考使用我创建的脚本,在package.json同目录下创建一个文本,复制粘贴以下代码,保存,将文本的后缀改成.sh 

  1. echo ">>> 正在下载未压缩依赖... <<<"
  2. npm i
  3. echo ">>> 下载完成 <<<"
  4. echo ">>> 正在下载tgz格式依赖... <<<"
  5. npm install node-tgz-downloader -g
  6. download-tgz package-json package.json
  7. echo ">>> 下载完成 <<<"
  8. echo ">>> 正在移动tgz文件... \n"
  9. mkdir tgz
  10. find ./tarballs -maxdepth 4 -name "*.tgz" | xargs mv -t ./tgz
  11. echo ">>> 移动完成 \n"
  12. echo ">>> 正在删除无用依赖... <<<"
  13. rm -r tarballs
  14. rm -r node_modules
  15. echo ">>> 外网操作完成 \n"

文件结构如下:

双击运行脚本(windows环境下.sh脚本需要git bash才能运行,装个git就行,都搞npm私服了,一般都会装git吧

脚本运行后,目录下将多出一个tgz文件夹,里面便是下载好的tgz格式的依赖

(2)内网上传依赖到npm私服

将tgz文件夹拷贝至内网电脑,在同目录下创建一个脚本(地址、用户名、密码换成自己的)

  1. #!/bin/bash
  2. targetDir=./tgz
  3. publishRestful=你的npm私服的rest接口地址(参考地址,自行修改:ip:端口/service/rest/v1/components?repository=私服名称)
  4. echo ">>> 文件所在目录:$targetDir <<<"
  5. dir=$(ls -l $targetDir | awk '/.tgz$/ {print $NF}')
  6. cd $targetDir
  7. for file in $dir
  8. do
  9. echo ">>> $targetDir/$file 上传开始 \n"
  10. ret=`curl -u 你的私服用户名:你的私服密码 -X POST "$publishRestful" -H "Accept: application/json" -H "Content-Type: multipart/form-data" -F "npm.asset=@$file;type=application/x-compressed"`
  11. echo $ret
  12. echo ">>> $targetDir/$file 上传完成 \n"
  13. done

 目录结构如下:

运行脚本,结束。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48628
推荐阅读
相关标签
  

闽ICP备14008679号