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

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

小項(xiàng)目中管理npm包版本的思路與方法

熱門標(biāo)簽:外呼系統(tǒng)怎么群發(fā)短信 地圖標(biāo)注項(xiàng)目幾個(gè)月 400電話申請到底哪家好 宿遷怎么辦理400電話 谷歌地圖標(biāo)注日期 400電話辦理費(fèi)用低 蘇州呼叫中心外呼系統(tǒng)哪家強(qiáng) 聯(lián)通外呼系統(tǒng)電腦app軟件 鶴壁高頻外呼系統(tǒng)多少錢一個(gè)月

背景

筆者在最近碰到一個(gè)問題:

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

思路

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

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

解決

問題1

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

問題2

針對第二個(gè)問題

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

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} 版本過低,請執(zhí)行 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"
  },

不足

  • 如果包名不是純數(shù)字的話對比有問題,因?yàn)槲覀児镜陌疾粠lpha,beta等,所以我沒有考慮
  • 有一些可以考慮和遠(yuǎn)程倉庫對比,比如調(diào)npm info包名命令將結(jié)果對比

總結(jié)

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《小項(xiàng)目中管理npm包版本的思路與方法》,本文關(guān)鍵詞  小項(xiàng),目中,管理,npm,包版本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《小項(xiàng)目中管理npm包版本的思路與方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于小項(xiàng)目中管理npm包版本的思路與方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品一区二区三区在线视频| 日韩成人精品视频| 欧美图片一区二区三区| 成人av电影观看| 国产精品1区2区3区在线观看| 国产一区二区视频在线| 国产老妇另类xxxxx| 国产成人免费xxxxxxxx| 成人av网站大全| 色综合天天综合| 久久疯狂做爰流白浆xx| 蓝色福利精品导航| 成人少妇影院yyyy| 色婷婷av久久久久久久| 欧美巨大另类极品videosbest| 欧美人与性动xxxx| 欧美精品一区二区三区蜜桃视频 | 亚洲制服丝袜一区| 日韩和欧美的一区| 国产成人精品综合在线观看| 不卡一区二区中文字幕| 欧美日韩免费在线视频| 亚洲精品一区二区精华| 成人免费在线观看入口| 天天爽夜夜爽夜夜爽精品视频| 国产制服丝袜一区| 在线观看亚洲精品视频| 日韩三级高清在线| 成人欧美一区二区三区小说| 日产国产欧美视频一区精品| 韩国成人福利片在线播放| 91麻豆视频网站| 日韩美一区二区三区| 亚洲色图视频网| 国产在线精品一区二区| 日本电影亚洲天堂一区| 精品国产3级a| 午夜精品一区二区三区电影天堂 | 国产欧美日韩一区二区三区在线观看| 国产精品视频麻豆| 日本一道高清亚洲日美韩| caoporn国产精品| 精品伦理精品一区| 午夜久久久影院| 色综合中文综合网| 精品成人一区二区三区四区| 亚洲精品乱码久久久久久久久| 天堂va蜜桃一区二区三区漫画版| 风间由美一区二区三区在线观看| 欧美精品一卡两卡| 有坂深雪av一区二区精品| 国产成人综合亚洲91猫咪| 精品视频123区在线观看| 国产精品狼人久久影院观看方式| 麻豆精品视频在线观看| 欧美综合久久久| 综合久久久久综合| 成人黄色在线视频| 久久精品视频免费| 麻豆精品视频在线观看视频| 精品视频在线免费看| 一区二区三区在线观看动漫| 99久久婷婷国产精品综合| 亚洲国产精品av| 成人免费视频视频在线观看免费 | 亚洲尤物视频在线| www.色综合.com| 欧美国产一区在线| 国产精品一级片| 久久久影院官网| 国产精品一区二区视频| 久久久精品黄色| 国产成人综合亚洲91猫咪| 国产亚洲欧美日韩俺去了| 久久99日本精品| 精品久久久久一区| 国产一区二区三区在线看麻豆| 精品国产免费一区二区三区四区 | 欧美精品成人一区二区三区四区| 亚洲综合图片区| 在线播放视频一区| 免费在线看成人av| 精品国产髙清在线看国产毛片| 狠狠狠色丁香婷婷综合久久五月| 日韩一区二区精品在线观看| 激情综合五月天| 国产亚洲制服色| 不卡的av网站| 亚洲一二三四区不卡| 91精品国产欧美一区二区成人| 日韩精品五月天| 久久久久久久久伊人| 东方aⅴ免费观看久久av| 亚洲欧洲成人自拍| 欧美视频精品在线观看| 久久精品国产精品亚洲精品| 国产蜜臀av在线一区二区三区| 99免费精品视频| 污片在线观看一区二区| 精品国产精品网麻豆系列| 成人av午夜电影| 日韩电影在线一区二区| 国产丝袜欧美中文另类| 99re热视频精品| 蜜桃久久久久久| 中文字幕人成不卡一区| 91精品国产综合久久精品图片| 久久疯狂做爰流白浆xx| 亚洲精品美腿丝袜| 久久男人中文字幕资源站| 色噜噜狠狠色综合中国| 另类人妖一区二区av| 成人免费一区二区三区视频 | 自拍视频在线观看一区二区| 欧美日韩国产经典色站一区二区三区| 九九精品视频在线看| 亚洲欧美区自拍先锋| 精品国产亚洲在线| 欧美在线小视频| 国产99精品国产| 麻豆精品视频在线观看免费| 亚洲欧美一区二区三区国产精品| 日韩精品在线一区| 在线观看日韩精品| 国产成人亚洲综合色影视| 日本亚洲天堂网| 樱桃视频在线观看一区| 国产精品网站在线播放| 欧美一级高清片| 欧美日韩成人一区二区| 91影视在线播放| 国产99久久久国产精品免费看| 另类小说图片综合网| 五月天精品一区二区三区| 一区二区三区在线视频播放 | 欧美亚洲综合久久| av资源网一区| 成人黄色电影在线| 国产大片一区二区| 精品在线播放免费| 美女网站色91| 免费成人结看片| 日本伊人色综合网| 天堂蜜桃一区二区三区| 亚洲国产精品久久人人爱蜜臀| 亚洲三级理论片| 日韩伦理免费电影| 亚洲欧美日韩一区| 一区二区视频免费在线观看| 亚洲婷婷国产精品电影人久久| 国产精品不卡在线观看| 综合分类小说区另类春色亚洲小说欧美 | 免费人成网站在线观看欧美高清| 午夜精品久久久久久久久久| 亚洲一区二区三区中文字幕| 亚洲夂夂婷婷色拍ww47| 亚洲动漫第一页| 奇米四色…亚洲| 国产精品乡下勾搭老头1| 国产成+人+日韩+欧美+亚洲 | 亚洲综合在线第一页| 一区二区三区免费观看| 亚洲www啪成人一区二区麻豆| 亚洲chinese男男1069| 婷婷激情综合网| 精品一区二区免费| 国产精品影视网| 色视频一区二区| 欧美一激情一区二区三区| 久久久久久久久岛国免费| 国产精品国产三级国产有无不卡| 国产精品免费aⅴ片在线观看| 亚洲欧美日韩国产中文在线| 午夜免费久久看| 国产乱码精品一区二区三 | 亚洲综合视频在线| 午夜精品在线看| 风间由美一区二区三区在线观看| 欧美亚洲自拍偷拍| 久久综合久久久久88| 自拍偷拍国产精品| 蜜臂av日日欢夜夜爽一区| 国产精品一区一区| 在线视频一区二区三区| 欧美精品一区二区三区蜜桃| 一区二区三区四区不卡视频| 裸体歌舞表演一区二区| 成人激情开心网| 日韩一区二区麻豆国产| 亚洲欧美日韩国产综合在线| 精品一区二区国语对白| 在线免费视频一区二区| 精品国产3级a| 日韩精品一级二级 | 在线电影院国产精品| 国产日本亚洲高清| 日韩电影免费在线观看网站| 成人精品电影在线观看| 日韩欧美中文字幕精品| 亚洲精品乱码久久久久久日本蜜臀|