前后端依赖下载上传

在某些情况下,可能需要在没有互联网连接的环境中进行构建或部署。通过提前下载所有依赖,你可以将它们保存在本地,然后在没有网络连接时使用,提高构建或部署的效率。

前端下载依赖

脚本getTzgUrl.js

const { readFileSync, writeFileSync } = require('fs')
const input = readFileSync('./yarn.lock', 'utf-8')
const urlRegex = /https?:\/\/[^\s]+/g;
const urls = input.match(urlRegex);
const modifiedUrls = urls.map(url => url.replace(/"$/, ''));
const prefix = "wget --user 用户名--password 密码"
let res = ''
modifiedUrls.forEach(url => {
  res += prefix + url + '\n'
});
writeFileSync('./npm-download.bat', res)

说明:
--user 用户名--password 密码 根据实际情况修改成对应的用户名和密码
yarn.lock还是package-lock.json根据实际情况修改,yarn.lock还是package-lock.json都是支持的

然后使用node getTzgUrl.js命令运行改脚本就会得到下面tgz压缩包的脚本
在这里插入图片描述

如果是linux环境,需要把writeFileSync('./npm-download.bat', res)改成writeFileSync('./npm-download.sh', res)
然后添加运行权限chmox +x npm-download.sh
添加运行权限之后直接运行该脚本./npm-download.sh

windows环境,需要去下载wgwt
下载地址:https://eternallybored.org/misc/wget/
在这里插入图片描述

下载完成之后可以配置环境变量 或者 把下载脚本npm-download.bat和下载的wget.exe放在统一目录下面,然后双击npm-download.bat脚本进行下载

下载了之后需要上传到仓库
npm-import.sh上传到仓库脚本
上传命令

./npm-import.sh -u 用户名 -p 密码 -r 依赖库地址

npm-import.sh

#!/bin/bash  
 
while getopts ":r:u:p:" opt; do  
        case $opt in  
                r) REPO_URL="$OPTARG"  
                ;;  
                u) USERNAME="$OPTARG"  
                ;;  
                p) PASSWORD="$OPTARG"  
                ;;  
        esac  
done 
# find 查拔tgz文件并执行批量上传 
find . -type f -name '*.tgz'| sed "s|^\./||" xargs -I '{}' \
cur1 -u "$USERNAME:$PASSWORD" -X 'POST' -V \
${REPO_URL} \
-H 'accept:application/json' \
-H 'Content-Type:multipart/form-data' \
-F 'npm.asset=@{};type=application/x-compressed';

在这里插入图片描述

后端jar包上传到仓库地址

  1. uploadJar.sh 放置到依赖的最外层根目录下
    (注意: 是跟包的最外层目录 (如: 和org.apache.commons.commons-compress;jar:1.14 这个包的 org 目录同层)
  2. 给脚本加执行权限
 chmod +x uploadJar.sh
  1. 执行脚本
 ./uploadlar-sh -u 用户名 -p 密码 -r 依赖库地址

uploadJar.sh

#!/bin/bash  

 
while getopts ":r:u:p:" opt; do  
        case $opt in  
                r) REPO_URL="$OPTARG"  
                ;;  
                u) USERNAME="$OPTARG"  
                ;;  
                p) PASSWORD="$OPTARG"  
                ;;  
        esac  
done  
  
find . -type f -not -path './uploadJar\.sh*' -not -path '*/\.*' | sed "s|^\./||" | xargs -I '{}' curl -k -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/415554.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习PyTorch 之 RNN-中文多分类

关于RNN的理论部分我们已经在前面介绍过,所以这里直接上代码 1、 数据部分 1.1 读取数据 # 加载数据 data_path ./data/news.csv data pd.read_csv(data_path)# 预览数据的前几行 data.head()数据是csv格式,只有两列,第一列是标签&#…

基于springboot+vue的城镇保障性住房管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

大工程 从0到1 数据治理 之数据模型和设计篇(sample database classicmodels _No.7)

大工程 从0到1 数据治理 之数据模型和设计篇 我这里还是sample database classicmodels为案列,可以下载,我看 网上还没有类似的 案列,那就 从 0-1开始吧! 文章目录 大工程 从0到1 数据治理 之数据模型和设计篇什么是数据模型设计…

【Java程序设计】【C00321】基于Springboot的在线租房和招聘平台(有论文)

基于Springboot的在线租房和招聘平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的在线租房和招聘平台,本系统有管理员、用户、房东以及公司四种角色; 管理员:首页、个人中心…

使用pytorch实现一个线性回归训练函数

使用sklearn.dataset 的make_regression创建用于线性回归的数据集 def create_dataset():x, y, coef make_regression(n_samples100, noise10, coefTrue, bias14.5, n_features1, random_state0)return torch.tensor(x), torch.tensor(y), coef 加载数据集,并拆分…

蓝桥杯_中断系统

一 中断 中断,即cpu暂停执行当前程序,转而执行另外一段特殊程序,处理结束后。返回之前暂停程序继续执行。 中断向量,中断服务程序的入口地址,每个中断源都对应一个固定的入口地址。 中断服务函数,内核响应中…

仿牛客网项目---用户注册登录功能的实现

从今天开始我们来写一个新项目,这个项目是一个完整的校园论坛的项目。主要功能模块:用户登录注册,帖子发布和热帖排行,点赞关注,发送私信,消息通知,社区搜索等。这篇文章我们先试着写一下用户的…

重拾前端基础知识:HTML

重拾前端基础知识:HTML 前言HTML编辑器标签锚链接 id和class表单Iframe字符实体HTML CSSHTML JavaScriptHTML 统一资源定位器(Uniform Resource Locators)XHTMLHTML5新的语义化元素视频和音频支持Canvas绘图本地存储表单增强Web Workers地理定位Web存储伸缩矢量图形…

《TCP/IP详解 卷一》第10章 UDP和IP分片

目录 10.1 引言 10.2 UDP 头部 10.3 UDP校验和 10.4 例子 10.5 UDP 和 IPv6 10.6 UDP-Lite 10.7 IP分片 10.7.1 例子:IPV4 UDP分片 10.7.2 重组超时 10.8 采用UDP的路径MTU发现 10.9 IP分片和ARP/ND之间的交互 10.10 最大UDP数据报长度 10.11 UDP服务器…

2024深度学习主流框架对比

tensorFlow 是最受欢迎和广泛使用的深度学习框架之一,目前在github的start数为181k。 TensorFlow是一个由Google Brain团队开发的开源深度学习框架。它允许开发者创建多种机器学习模型,包括卷积神经网络、循环神经网络和深度神经网络等,该框架…

全国产飞腾E2000Q +复旦微FPGA的轨道交通、电力解决方案

产品概述 ITX-XMF201是一款高性能边缘计算网关主板,采用飞腾E2000Q 4核处理器,国产化率达到95%国产化。 板载2电口,2路CAN,6路RS232接口,1路RS485接口,16路GPIO,可以满足银行、轨道交通、电力等…

【ArcGIS Pro二次开发】(83):ProWindow和WPF的一些技巧

在ArcGIS Pro二次开发中,SDK提供了一种工具界面【ArcGIS Pro ProWindow】。 关于ProWindow的用法,之前写过一篇基础的教程: 【ArcGIS Pro二次开发】(13):ProWindow的用法_arcgispro二次开发教程-CSDN博客 主要是对几个常用控件…

Java开发的核心模式 - MVC

文章目录 1、MVC设计模式2、Web开发本质3、服务器的性能瓶颈 1、MVC设计模式 MVC设计模式示意图 在整个Java学习之旅中,MVC(Model-View-Controller)设计模式无疑占据着极其重要的地位,堪称理解和掌握Java项目开发精髓的钥匙。如…

【Python】Python实现串口通信(Python+Stm32)

🎉欢迎来到Python专栏~Python实现串口通信 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:Python学习专栏 文章作者技术和水平有限,如果文中出现错误,希望…

3D数字孪生

数字孪生(Digital Twin)是物理对象、流程或系统的虚拟复制品,用于监控、分析和优化现实世界的对应物。 这些数字孪生在制造、工程和城市规划等领域变得越来越重要,因为它们使我们能够在现实世界中实施改变之前模拟和测试不同的场景…

Spring 类型转换、数值绑定与验证(三)— Formatting 与 Validation

1 Formatting 在Spring中用于格式化数据及根据地域展示不同格式的数据。 图 Formatting接口 UML 1.1 注解驱动Formatting 自定义像“DateTimeFormat”注解来对相关字段格式化的步骤为: 自定义注解。定义一个实现AnnotationFormatterFactory接口的工厂类。往容器…

H3C OSPF Stub特殊区域+认证实验

H3C OSPF Stub特殊区域认证实验 实验拓扑 ​​ 实验需求 按照图示配置 IP 地址,所有路由器配置环回口 IP 地址为 X.X.X.X/32​ 作为 Router-id,X 为设备编号(R5 除外)按照图示分区域配置 OSPFR1 上配置默认路由,指…

数据卷dockerfile

目录 一、数据卷 1. 简介 2. 数据卷和数据卷容器 1. 数据卷: 2. 数据卷容器: 二、自定义镜像 1. 作用 2. 自定义centos 3. 自定义tomcat8 一、数据卷 1. 简介 数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直…

小白水平理解面试经典题目leetcode. 606 Construct String from Binary Tree【递归算法】

Leetcode 606. 从二叉树构造字符串 题目描述 例子 小白做题 坐在自习室正在准备刷题的小白看到这道题,想想自己那可是没少和白月光做题呢,也不知道小美刷题刷到哪里了,这题怎么还没来问我,难道是王谦谦去做题了? 这…

使用Java和PostGis的全国A级风景区数据入库实战

目录 前言 一、数据介绍 1、空间数据 2、属性表说明 3、QGIS数据预览 二、PostGIS空间数据库设计 1、空间表结构 三、Java空间入库 1、实体定义 2、数据操作Mapper 3、业务层实现 4、入库 5、数据入库验证 总结 前言 星垂平野阔,月涌大江流”“晴川历历…