校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 小項目中管理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包版本的思路與方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    av网站一区二区三区| 五月天激情小说综合| 蜜桃视频在线观看一区| 在线电影国产精品| 看国产成人h片视频| 欧美一区二视频| 免费在线视频一区| 久久品道一品道久久精品| 成人精品电影在线观看| 欧美国产一区在线| 日本久久精品电影| 日韩电影在线一区二区| 精品理论电影在线观看 | 国产精品不卡在线| 91同城在线观看| 免费在线观看一区二区三区| 欧美韩日一区二区三区| 日本福利一区二区| 一区二区三区自拍| 日韩视频在线你懂得| 国产精品123| 亚洲蜜臀av乱码久久精品| 91精品国产综合久久国产大片| 国产乱对白刺激视频不卡| 亚洲乱码一区二区三区在线观看| 精品久久久久久无| 91福利小视频| 国产在线日韩欧美| 午夜不卡av免费| 亚洲国产精品高清| 日韩西西人体444www| 91日韩一区二区三区| 国产综合久久久久影院| 亚洲欧美视频在线观看视频| 精品少妇一区二区三区视频免付费 | 不卡高清视频专区| 免费久久精品视频| 亚洲三级在线观看| 亚洲国产精品99久久久久久久久 | 亚洲情趣在线观看| 欧美精品一区视频| 日韩一级欧美一级| 91精品黄色片免费大全| 91在线视频免费观看| 国产丶欧美丶日本不卡视频| 青青草国产成人av片免费| 亚洲国产sm捆绑调教视频 | 在线观看亚洲精品| 成人网在线播放| 国产精品亚洲第一| 高清不卡一二三区| 国精产品一区一区三区mba视频| 日韩国产欧美三级| 日韩主播视频在线| 日韩精品一级二级 | 91精品国产综合久久久久久| 欧美日免费三级在线| 91九色02白丝porn| 欧美美女直播网站| 欧美电影免费观看完整版| 精品国产免费人成电影在线观看四季 | 高清不卡一二三区| 99国产精品国产精品久久| av在线不卡电影| 欧美日韩一区高清| 日韩欧美国产一二三区| 日韩精品一区在线| 欧美激情在线看| 中文字幕制服丝袜一区二区三区 | 日韩经典中文字幕一区| 日本午夜一本久久久综合| 喷水一区二区三区| 激情综合网激情| av男人天堂一区| 欧美日韩1区2区| 国产色产综合色产在线视频| 成人免费在线观看入口| 亚洲一区二区视频| 国产一区二区三区在线观看精品 | 亚洲色图色小说| 香蕉成人啪国产精品视频综合网| 久久精品国产久精国产| 色综合天天天天做夜夜夜夜做| 正在播放亚洲一区| 国产女同性恋一区二区| 亚洲一区二区三区视频在线播放| 日本va欧美va精品| 一本大道久久a久久综合| 精品伦理精品一区| 亚洲自拍偷拍图区| 高潮精品一区videoshd| 日韩欧美国产电影| 亚洲高清中文字幕| 91亚洲资源网| 国产精品亲子伦对白| 久久国产精品第一页| 3d动漫精品啪啪1区2区免费| 国产精品高潮呻吟久久| 国产精品一区二区x88av| 91麻豆精品国产91久久久资源速度| 亚洲免费毛片网站| av福利精品导航| 国产精品欧美精品| 成人精品电影在线观看| 国产欧美视频在线观看| 国产伦精品一区二区三区免费迷| 91麻豆精品国产91久久久资源速度 | 高清av一区二区| 国产欧美久久久精品影院| 视频一区二区三区入口| 欧美日韩精品欧美日韩精品| 亚洲一区二区三区中文字幕| 在线观看日韩电影| 一区二区三区91| 欧美欧美午夜aⅴ在线观看| 蜜臀精品一区二区三区在线观看 | 欧美日韩国产电影| 午夜日韩在线电影| 精品国产一区二区三区av性色| 韩国v欧美v日本v亚洲v| 亚洲精品一区二区三区四区高清| 国内精品第一页| 国产精品美女久久久久久2018| 成人国产精品视频| 亚洲综合成人网| 日韩欧美资源站| av午夜一区麻豆| 亚洲国产日韩a在线播放| 日韩欧美国产一区二区在线播放 | 色噜噜狠狠色综合欧洲selulu| 亚洲18女电影在线观看| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲精品视频观看| 欧美一区二区播放| 国产成人一级电影| 一区二区三区资源| 久久久久久久久免费| 欧美在线观看视频一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 色哟哟日韩精品| 另类小说一区二区三区| 中文字幕在线一区| 日韩美女视频在线| 91黄色激情网站| 成人一级视频在线观看| 天天综合色天天综合| 亚洲欧美一区二区三区国产精品 | 成人动漫在线一区| 免费久久精品视频| 午夜精品影院在线观看| 国产精品成人网| 久久久亚洲午夜电影| 欧美亚洲一区二区在线观看| 国产91在线观看丝袜| 免费观看一级欧美片| 亚洲激情网站免费观看| 国产精品美女久久久久高潮| 日韩欧美三级在线| 欧美一二三四区在线| 91丨九色丨国产丨porny| 懂色av一区二区夜夜嗨| 国产一区 二区| 国产一区二区在线影院| 国产在线看一区| 国产一区二区精品久久99| 日本不卡不码高清免费观看| 日本伊人午夜精品| 日韩黄色一级片| 免费成人你懂的| 久久不见久久见免费视频1| 精品在线一区二区三区| 国产麻豆欧美日韩一区| 国产精品白丝jk黑袜喷水| 国产成人在线视频免费播放| 成人自拍视频在线观看| 成人精品视频一区二区三区| 91污在线观看| 欧美婷婷六月丁香综合色| 欧美日韩另类国产亚洲欧美一级| 欧美日韩卡一卡二| 日韩精品影音先锋| 亚洲国产成人午夜在线一区| 亚洲欧美综合色| 亚洲mv在线观看| 国产一区在线观看麻豆| 北岛玲一区二区三区四区| 在线观看视频91| 日韩精品中午字幕| 国产精品久久久久久久久快鸭| 亚洲激情校园春色| 精品写真视频在线观看| 99热精品一区二区| 日韩欧美一区二区在线视频| 精品99一区二区| 日韩一区中文字幕| 另类的小说在线视频另类成人小视频在线 | 一区二区三区国产精品| 人妖欧美一区二区| 99久久国产综合精品色伊| 宅男噜噜噜66一区二区66|