前后端依赖下载上传

news2024/11/17 9:58:20

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

前端下载依赖

脚本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}/{} ;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端架构: 脚手架之包管理工具的案例对比及workspace特性的基本使用

Npm WorkSpace 特性 1 )使用或不使用包管理工具的对比 vue-cli 这个脚手架使用 Lerna 管理,它的项目显得非常清晰在 vue-cli 中包含很多 package 点开进去,每一个包都有package.json它里面有很多项目,再没有 Lerna 之前去维护和管…

sql | leecode 1147 |即时事务配送II | sql 优化

sql 有时候还是挺有意思的,有时候不只是crud 下面来看一道sql 题,第一个题解能跑完,但是超时 浮躁的人总是很难看的进去,有时候孤单又在所难免,所以啊 要继续坚持,原来中学老师讲的那句,要耐住寂…

arm服务器上部署kibana

1.首先需要从elasticsearch对应的kibana版本(arm) ​​​​​​Download Kibana Free | Get Started Now | Elastic 注意:选平台时切勿选错,linux aarch64,并选择elasticsearch对应的历史版本 2.可以通过rz命令上传压缩包至 linux 服务器进行解压,存放路径建议和e…

物联网通信协议介绍

为了方便,将物联网通信协议分为两大类,一类是接入协议,一类是通讯协议。接入协议一般负责子网内设备间的组网及通信;通讯协议主要是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备通过互联网进行数据交换及通…

数据结构:排序算法+查找算法

一、概念 程序数据结构算法 1.算法的特性和要求 特性: 确定性(每次运行相同的输入都是同样的结果)、有穷性、输入、输出、可行性 设计要求: 正确性、高效率、低存储、健壮性、可读性 2.时间复杂度 3.常见排序算法的时间复杂…

K8S存储卷与PV,PVC

一、前言 Kubernetes(K8s)中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据,并且可以保持数据的持久性,即使Pod被重新调度或者删除,数据也不会丢失。 Kubernetes支持多种类型的存储卷…

MyBatis 学习(二)之 第一个 MyBatis 案例

目录 1 配置 MyBatis 方式 1.1 XML 配置文件 1.2 Java 注解配置 1.3. Java API 配置 2 在 MySQL 中创建一张表 3 创建一个基于 Maven 的 JavaWeb 工程 4 编写 User 实体类 5 创建Mybatis全局配置文件 6 编写一个 DAO 或 Mapper 接口 7 编写 SQL 映射配置文件&#xf…

Vuepress的使用

介绍 将markdown静态资源转换成html。 动态资源的转换还有很多,为什么要使用Vuepress? 目录分析 项目配置 详情 具体配置请看文档 插件配置 vuepress-theme-vdoing 主题插件 npm install vuepress-theme-vdoing -D先安装依赖配置主题 使用vuep…

Android 架构MVI、MVVM、MVC、MVP

目录 一、MVC(Model-View-Controller) 二、 MVP(Model-View-Presenter) 三. MVVM(Model-View-ViewModel) 四. MVI(Model-View-Intent) 五.MVI简单实现 先简单了解一下MVC、MVP和…

5.WEB渗透测试-前置基础知识-常用的dos命令

内容参考于: 易锦网校会员专享课 上一篇内容:4.WEB渗透测试-前置基础知识-快速搭建渗透环境(下)-CSDN博客 常用的100个CMD指令 1.gpedit.msc—–组策略 2. sndrec32——-录音机 3. Nslookup——-IP地址侦测器 ,是一个…

Keepalived 双机热备基础知识

7.1 Keepalived 双机热备基础知识 Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover) 和健康检查査(Health Checking)功能一一判断LVS 负载调度器、节点服务器的可用性,及时隔离并替 换为新的服务器,当故…

使用腾讯云go sdk 查询对象存储中最新文件

背景: 腾讯云账号下,有很多对象存储COS桶: 我现在想确认某一个对象存储桶的活跃程度,简单的来说。我想知道这个桶里面最后上传的一个文件是什么,以及它的上传时间戳。 本文将介绍如何使用腾讯云对象存储(…

iMazing3安全吗?好不好用?值不值得下载

一、安全性 iMazing在设计和开发过程中,始终把用户数据的安全性放在首位。它采用了多种先进的安全技术来确保用户数据在传输、备份和存储过程中的安全。 iMazing3Mac-最新绿色安装包下载如下: https://wm.makeding.com/iclk/?zoneid49816 iMazing3Wi…

森林监测VR虚拟情景再现系统更便利

AI人工智能技术已经逐渐渗透到各个领域,为我们的生活带来了诸多便利。在虚拟仿真教学领域,AI技术的应用也日益丰富,为虚拟情景交互体验带来了前所未有的好处。 提高VR虚拟情景的逼真度 通过深度学习和计算机视觉等技术,AI/VR虚拟现…

java008 - Java方法

1、方法概述 1.1 概念 将独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。 1.2 注意事项 方法必须先创建才能使用,该过程称为方法的定义方法创建好不能直接运行,需要手动使用才执行,该过程称为方法的调用 2、方…

基于RISC-V架构的通信DSP的设计以及在5G RedCap基带中的应用(五)-基于RISC-V的RedCap DSP在5G基带中的应用

4 基于RISC-V的RedCap DSP在5G基带中的应用 4.1 基带处理器的关键任务和性能需求 基带处理器是移动通信设备中的关键部件,负责处理无线信号,包括信号的接收、发送和处理。在5G通信系统中,基带处理器的关键任务和性能需求包括以下几个方面&a…

【网站项目】424学报稿件管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

面试数据库篇(mysql)- 11主从同步

原理 MySQL主从复制的核心就是二进制日志 二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。 复…

Vue 2 的核心模块和历史遗留问题以及vue3新特性

从下图你能看到,Vue 2 是一个响应式驱动的、内置虚拟 DOM、组件 化、用在浏览器开发,并且有一个运行时把这些模块很好地管理起来的框架。 vue 2 能把上面所说的这些模块很好地管理起来,看起来已经足够好了。不过事实真的如 此么?…

day01-HTML-CSS

一、Web 开发 1. 什么是 Web ? Web:全球广域网,也称为万维网(www,World Wide Web),能够通过浏览器访问的 网站。 2. Web 网站的开发模式 3. Web 标准 Web 标准也称为网页标准,由一系列的标准组成&#xff…