婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 小項目中管理npm包版本的思路與方法

小項目中管理npm包版本的思路與方法

熱門標簽:外呼系統怎么群發短信 地圖標注項目幾個月 400電話申請到底哪家好 宿遷怎么辦理400電話 谷歌地圖標注日期 400電話辦理費用低 蘇州呼叫中心外呼系統哪家強 聯通外呼系統電腦app軟件 鶴壁高頻外呼系統多少錢一個月

背景

筆者在最近碰到一個問題:

有一些項目沒有類似jenkins的自動部署平臺,前端部署都是本地執行npm run build命令生成壓縮包,然后放到服務器上面,解壓到nginx 目錄, 但是有的時候遇到一個問題,比如項目中某個成員升級了其他組寫的一個組件packageA,但是其他成員可能沒有升級,導致上線后就會有一些問題,一個包還好,如果有好幾個包都沒有升級,那么可能導致一些意想不到的問題。

思路

首先就這個問題,我思考后有以下幾個問題

  • package.json中的包名的版本有幾個是用的^x.x.x的形式,不利于判斷
  • 如何對比包的版本

解決

問題1

針對第一個問題解決方案就是 直接用x.x.x的方式,一個包的更新必定是至少有一個人知道這個事情才會去更新包,所以包名是可以不帶任何標識的

問題2

針對第二個問題

node_modules中的版本是低的,但是package.json的版本是最新的,所以我們可以自定一個腳本判斷兩個版本是否一致

const path = require('path');
const projectRoot = process.cwd();
const projectPack = require(path.resolve(projectRoot, 'package.json'));
// 需要對比的包名
const modules = ['element-ui'];
const allDependencies = {
  ...(projectPack.dependencies || {}),
  ...(projectPack.devDependencies || {}),
};

modules.forEach(module => {
  try {
    const packVersion = allDependencies[module];
    // 有一些包名是有文件夾的比如@vue/cli-service,是在@vue文件夾下
    const realPath = packVersion.aplit('/');
    const pack = require(path.resolve(
      ...[projectRoot, 'node_modules', ...realPath, 'package.json'],
    ));
    const needVersions = packVersion.match(/\d+/g);
    const realVersions = pack.version.match(/\d+/g);
    for (const i in needVersions) {
      if (
        isDef(needVersions[i]) 
        isDef(realVersions[i]) 
        parseInt(realVersions[i])  parseInt(needVersions[i])
      ) {
        exit(module);
      }
    }
  } catch (error) {
    exit(module);
  }
});

function exit(moduleName) {
  throw new Error(`${moduleName} 版本過低,請執行 npm i/npm install`);
}
function isDef(num) {
  return num !== null  num !== undefined;
}

package.json改造 增加check 腳本

 "scripts": {
    "check": "node build/checkNpmPackageVersion.js",
    "dev": "npm run check  vue-cli-service serve",
    "build": "npm run check  vue-cli-service build",
    "lint": "vue-cli-service lint"
  },

不足

  • 如果包名不是純數字的話對比有問題,因為我們公司的包名都不帶alpha,beta等,所以我沒有考慮
  • 有一些可以考慮和遠程倉庫對比,比如調npm info包名命令將結果對比

總結

到此這篇關于小項目中管理npm包版本的思路與方法的文章就介紹到這了,更多相關小項目管理npm包版本內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:錫林郭勒盟 鄂爾多斯 莆田 丹東 遵義 襄陽 哈爾濱 雙鴨山

巨人網絡通訊聲明:本文標題《小項目中管理npm包版本的思路與方法》,本文關鍵詞  小項,目中,管理,npm,包版本,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《小項目中管理npm包版本的思路與方法》相關的同類信息!
  • 本頁收集關于小項目中管理npm包版本的思路與方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本视频一区二区三区| 亚洲第一av色| 日本亚洲免费观看| 91福利在线看| 亚洲国产精品影院| 欧美日韩在线亚洲一区蜜芽| 亚洲国产精品一区二区久久恐怖片| 色天天综合色天天久久| 一区二区三区欧美久久| 欧美日韩一区二区三区视频| 日本美女一区二区三区| 久久久久久久久久久久久女国产乱| 国产福利一区二区三区视频| 国产精品久久久久三级| 国产亚洲午夜高清国产拍精品 | 日韩黄色免费网站| 69久久夜色精品国产69蝌蚪网| 亚洲一二三区不卡| 欧美精品一区二区三区高清aⅴ | 亚洲人成伊人成综合网小说| 在线不卡一区二区| 国产美女精品人人做人人爽 | 亚洲va中文字幕| 日韩三级视频在线观看| 国产成人免费视频精品含羞草妖精| 中文字幕中文在线不卡住| 欧美疯狂性受xxxxx喷水图片| 久久66热偷产精品| 亚洲精品视频自拍| 欧美精品一区在线观看| 色狠狠桃花综合| 国产一区二区在线看| 亚洲一区成人在线| 亚洲国产精品黑人久久久| 欧美日韩大陆一区二区| 成人丝袜高跟foot| 视频在线观看一区| 亚洲欧美另类久久久精品| 久久久久国产一区二区三区四区 | 在线观看www91| 国产一区二区毛片| 亚洲已满18点击进入久久| 久久久亚洲精品一区二区三区| 在线观看免费视频综合| 懂色av一区二区三区蜜臀 | va亚洲va日韩不卡在线观看| 奇米色777欧美一区二区| 中文字幕av一区二区三区免费看| 7777精品伊人久久久大香线蕉的| 成人免费毛片app| 久久成人av少妇免费| 一区二区三区国产精品| 亚洲三级免费电影| 国产精品美女久久久久aⅴ| 精品久久久久久综合日本欧美| 欧美日韩在线免费视频| 91蜜桃网址入口| 91在线视频播放地址| 国产乱码字幕精品高清av | 欧美日韩在线播放三区四区| 高清免费成人av| 久久国产精品99久久人人澡| 婷婷久久综合九色国产成人 | 免费不卡在线视频| 亚洲综合激情另类小说区| 亚洲美女屁股眼交3| 亚洲色图在线视频| 一区二区欧美国产| 亚洲午夜久久久| 亚洲午夜精品在线| 午夜欧美电影在线观看| 日韩精品乱码av一区二区| 日韩精品久久理论片| 另类小说综合欧美亚洲| 国产在线观看一区二区| 国产一区二区三区国产| 国产精品资源在线看| 国产成人无遮挡在线视频| 国产大陆a不卡| 色综合久久九月婷婷色综合| 欧美日韩在线免费视频| 日韩欧美视频在线 | 日韩欧美一级片| 久久亚洲精华国产精华液| 国产欧美1区2区3区| 亚洲色图制服丝袜| 日本午夜精品一区二区三区电影| 久久99深爱久久99精品| 成人av中文字幕| 欧美日本在线看| 国产欧美日韩视频一区二区| 国产精品久久久久桃色tv| 一区二区成人在线| 激情欧美一区二区三区在线观看| 成人av一区二区三区| 69p69国产精品| 国产精品入口麻豆原神| 亚洲成a人片在线不卡一二三区| 理论电影国产精品| 日本精品视频一区二区| 久久久久国产精品麻豆| 亚洲一区二区偷拍精品| 国产精品99久久久久久久女警| 一本大道久久a久久精二百| 欧美va亚洲va香蕉在线| 一区二区三区四区在线免费观看| 久久精品国产成人一区二区三区| 99re热视频这里只精品| 欧美xingq一区二区| 亚洲一区二区在线免费观看视频 | 91国模大尺度私拍在线视频| 日韩午夜在线观看| 亚洲综合视频在线| 国产成人在线视频播放| 3atv一区二区三区| 怡红院av一区二区三区| 国产69精品久久99不卡| 日韩网站在线看片你懂的| 亚洲综合成人在线| 国产999精品久久| 久久一区二区三区国产精品| 天天免费综合色| 欧美亚洲高清一区| 亚洲乱码日产精品bd| 国产999精品久久久久久绿帽| 2023国产精品| 国产精品中文字幕欧美| 精品国产麻豆免费人成网站| 亚洲不卡一区二区三区| 日本高清不卡aⅴ免费网站| 自拍偷拍欧美激情| 白白色 亚洲乱淫| 国产精品动漫网站| 成人app下载| 国产精品久久久久久妇女6080 | 伊人性伊人情综合网| 96av麻豆蜜桃一区二区| 国产精品欧美精品| 精品久久五月天| 一本久道久久综合中文字幕| 另类成人小视频在线| 色94色欧美sute亚洲线路二| 国产精品久久久久影院色老大| caoporn国产一区二区| 中文字幕在线不卡一区| 波多野结衣视频一区| 国产精品另类一区| av在线不卡电影| 亚洲摸摸操操av| 在线免费观看日韩欧美| 亚洲午夜在线电影| 日韩一区和二区| 激情国产一区二区| 欧美激情一区二区在线| 97久久精品人人做人人爽| 一区二区激情小说| 日韩一区二区三区av| 国产成人午夜精品影院观看视频| 国产精品日韩成人| 欧美在线观看视频在线| 日韩不卡一区二区三区| 26uuu精品一区二区| 成人在线视频一区| 亚洲国产日韩a在线播放性色| 欧美一级高清片在线观看| 国产成人av电影在线观看| 一区二区三区免费看视频| 日韩限制级电影在线观看| 成人三级伦理片| 午夜a成v人精品| 久久久久国产精品人| 91网页版在线| 久久国产欧美日韩精品| 国产精品不卡在线观看| 7799精品视频| 91在线国产福利| 韩国视频一区二区| 亚洲精品一卡二卡| 久久综合资源网| 91黄色激情网站| 国产成人欧美日韩在线电影| 视频一区视频二区中文字幕| 欧美国产欧美亚州国产日韩mv天天看完整| 91网址在线看| 高清beeg欧美| 狠狠v欧美v日韩v亚洲ⅴ| 午夜在线电影亚洲一区| ...av二区三区久久精品| 精品少妇一区二区三区在线播放| 欧美中文字幕久久| 91一区二区在线观看| 成人黄色片在线观看| 国产乱码字幕精品高清av| 毛片av一区二区三区| 亚洲第一成年网| 亚洲欧美日韩中文播放| 国产精品久久久久久久岛一牛影视| 亚洲精品在线三区| 91精品国产色综合久久| 在线免费精品视频|