当前位置: 首页 > news >正文

深圳网站建设搜q479185700做网站的优惠广告

深圳网站建设搜q479185700,做网站的优惠广告,重庆的网站建设公司,简历做的很棒的网站【问题背景】 用Nexus搭建了内网的依赖仓库#xff0c;需要将前端工程中node_modules中的依赖上传到Nexus上#xff0c;但是node_modules中的依赖已经是解压后的状态#xff0c;如果直接机械地将其简单地打包上传到Nexus#xff0c;那么无法通过npm install下载使用。故有…【问题背景】 用Nexus搭建了内网的依赖仓库需要将前端工程中node_modules中的依赖上传到Nexus上但是node_modules中的依赖已经是解压后的状态如果直接机械地将其简单地打包上传到Nexus那么无法通过npm install下载使用。故有此文。 【解决思路】 前端工程中的所有npm依赖信息已经记录在package-lock.json文件中包括依赖的下载地址所以可以直接根据package-lock.json中记录的依赖地址逐个下载依赖的原始包然后再上传到Nexus对应的仓库中。 【前置条件】 Nexus上已创建好hosted类型的npm仓库假设起名为npm-local本地前端工程所在PC可以连接互联网本地前端工程已执行npm install且已生成package-lock.json 【编写脚本】 下述的NodeJS脚本可以下载package-lock.json文件中的依赖将该脚本保存到一个名为downloadNpmPackage.js的文件中 const fs require(fs); const path require(path); const request require(request); // 指定根据package-lock.json中记录的信息下载依赖 const packageLock require(./package-lock.json); // 指定将依赖下载到当前目录下的npm-dependencies-tgz目录 const downUrl ./npm-dependencies-tgz;if (!fs.existsSync(downUrl)) {fs.mkdirSync(downUrl); }// 收集依赖的下载路径 const tgz []; for (let pkg in packageLock.dependencies) {let tgzUrl packageLock.dependencies[pkg][resolved];tgz.push(tgzUrl); }// 逐个下载 tgz.forEach((url) {const outUrl url.split(/).pop()let outUrl2 [outUrl]if(outUrl.indexOf(?) ! -1){outUrl2 outUrl.split(?)}const outputDir path.join(downUrl, outUrl2[0])let receivedBytes 0;let totalBytes 0;const req request({method: GET,uri: url});req.on(response, function(data) {totalBytes parseInt(data.headers[content-length]);});req.on(data, function(chunk) {receivedBytes chunk.length;showProgress(receivedBytes, totalBytes, outUrl2[0]);});req.pipe(fs.createWriteStream(outputDir)); });// 依赖下载进度显示 function showProgress(received, total, filePath) {const percentage ((received * 100) / total).toFixed(2);process.stdout.write(${filePath} 下载进度${percentage}% (${received}/${total} 字节)\r);if (received total) {console.log(\n${filePath} 下载完成);} }下述Bash脚本可以将下载好的前端依赖上传到Nexus上将该脚本保存到名为UploadnpmPackage.sh的文件中。 #!/bin/bash# 获取命令行参数 while getopts :r:u:p: opt; docase $opt inr) REPO_URL$OPTARG;;u) USERNAME$OPTARG;;p) PASSWORD$OPTARG;;esac done# find 并批量上传 find . -type f -name *.tgz | sed s|^\./|| | xargs -I {} \ curl -u $USERNAME:$PASSWORD -X POST -v \${REPO_URL} \-H accept: application/json \-H Content-Type: multipart/form-data \-F npm.asset{};typeapplication/x-compressed ; 【上传依赖】 1.将NodeJs脚本downloadNpmPackage.js置于前端工程目录下且与package-lock.json文件同级 2.在当前目录运行Node命令 node downloadNpmPackage.js 等待程序下载依赖包 下载完成后会在package-lock.json同级目录生成一个名为npm-dependencies-tgz的文件夹 里面存放的是当前工程所有依赖的tgz文件 将npm-dependencies-tgz文件夹打包成tar压缩包。 3.z至此上一步压缩的tar包和名为UploadnpmPackage.sh的shell脚本如下可以将这俩发给负责依赖上传的同事由他们完成后面的上传操作。 4.上传依赖的同事收到上述两个文件后解压npm-dependencies-tgz.tar压缩包得到npm-dependencies-tgz目录将UploadnpmPackage.sh剪切到npm-dependencies-tgz目录下与所有tgz依赖包同级 5.若是linux操作系统则需要使用如下命令将脚本中的换行符进行转换 dos2unix UploadnpmPackage.sh 若没有dos2unix则需要安装一下sudo yum install dos2unix。如果是windows则跳过本步。 6.在npm-dependencies-tgz目录下使用如下命令运行脚本UploadnpmPackage.sh将依赖包上传到nexus上注意红字部分根据Nexus的实际情况填写 sh UploadnpmPackage.sh -u admin -p nexusAdmin2023 -r http://172.24.105.249:8089/service/rest/v1/components?repositorynpm-local 7.登录Nexus网页查看到npm-local仓库下已经存在刚才上传的依赖了 【使用依赖】 1.完成上述上传操作后查看并复制npm-local仓库地址 9.CI工具中配置依赖拉取地址为上述复制的地址http://172.24.105.249:8089/repository/npm-local/。或者离线编译前端源码时可以使用如下命令设置npm仓库地址 npm config set registryhttp://172.24.105.249:8089/repository/npm-local/ 10.到此便可正常运行npm install安装依赖了。
http://www.zqtcl.cn/news/346112/

相关文章:

  • 天津网站建设班模拟网站建设软件有哪些
  • 服务类的网站怎么做做软件的网站担保网站
  • 最新电子产品网站模板海口网站排名提升
  • 北京社保网站减员怎么做phpcms v9 实现网站搜索
  • 视频运营管理网站济南网站建设 济南货梯
  • html电影网站模板下载工具阿里云网站建设 部署与发布笔记
  • 建设跨境网站微信seo是什么意思
  • 我做彩票网站开发彩票网站搭建织梦如何仿手机网站源码下载
  • 东仓建设网站手机便宜的网站建设
  • 吕梁市住房与城乡建设厅网站wordpress 乐趣公园
  • 沈阳正规制作网站公司吗德成建设集团有限公司网站
  • 做网站标准步骤大学两学一做专题网站
  • 如何在手机上做网站Windows怎么建设网站
  • 专门做稀有产品的网站海口网站制作设计
  • 怎么查看自己的网站是否被百度收录网站的设计制作流程
  • 视觉设计网站芜湖做网站找哪家好
  • flash网站源码带asp后台电子商务有限公司网站
  • 一个网站有多少网页简单的logo设计
  • 重庆专业网站营销长春建站免费模板
  • 企业建设网站多少钱爱的网站歌曲
  • 宁波网站优化如何欣宝儿在什么网站做直播
  • 东营网签查询系统官方网站超炫的网站模板
  • 请人做网站谁来维护南宁营销型网站设计
  • 汕头做网站的公司西安建筑科技大学华清学院教务网
  • 免费行情网站在线石家庄正规制作网站公司
  • 站长工具网凡科网商城
  • 网站开发工程师需要会写什么区别沈阳网站建设建设公司哪家好
  • 营销型网站建设的优缺点利用海康威视做直播网站
  • 阿里手机网站开发框架怎么看网站被降权
  • 电视台做网站还是APP网络推广是什么意思