欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何判斷當前使用哪種npm包管理器

這篇文章主要介紹了如何判斷當前使用哪種npm包管理器的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇如何判斷當前使用哪種npm包管理器文章都會有所收獲,下面我們一起來看看吧。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供馬尾網(wǎng)站建設、馬尾做網(wǎng)站、馬尾網(wǎng)站設計、馬尾網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、馬尾企業(yè)網(wǎng)站模板建站服務,十載馬尾做網(wǎng)站經驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

實現(xiàn)方式

Vue 倉庫 目前強制開發(fā)者使用 pnpm ,實現(xiàn)方式也非常巧妙。

首先,在運行 npm script 的時候,通過內置的 pre 命令運行前置腳本,在前置腳本中通過 process.env.npm_execpath 獲取包管理器的文件路徑,從而判斷開發(fā)者使用的包管理器種類。

相關代碼如下:

// package.json
"scripts": {
    "preinstall": "node ./scripts/preinstall.mjs",
},
// preinstall.mjs
if (!/pnpm/.test(process.env.npm_execpath || '')) {
  console.warn(
    `\u001b[33mThis repository requires using pnpm as the package manager ` +
      ` for scripts to work properly.\u001b[39m\n`
  )
  process.exit(1)
}

pre 命令

在 package.json 中,我們應該非常熟悉 npm script 的運行方式。

"scripts": {
    "dev": "vite",
},

通過閱讀以上代碼,我們就可以通過 npm run dev 來運行腳本了。

除了自定義腳本名稱,npm 還內置了兩個 prepost 指令,把 pre 拼接到自定義名稱前,就可以實現(xiàn)前置鉤子指令了。

"scripts": {
    "dev": "vite",
    "predev": "node predev.js"
    "postdev": "node postdev.js"
},

這樣運行 npm run dev 指令的時候,終端會自動先運行 npm run predev ,再運行 npm run dev ,最后運行 npm run postdev,通過這種方式,我們就可以在自定義腳本運行前,先對包管理器進行判斷了。

process.env.npm_execpath

在 vue@3.2.20 之前,Vue 的包管理器為 yarn ,之后改為了 pnpm。

使用 yarn 時,包管理器檢查的代碼為:

// scripts/checkYarn.js
if (!/yarn\.js$/.test(process.env.npm_execpath || '')) {
    console.warn(
    '\u001b[33mThis repository requires Yarn 1.x for scripts to work properly.\u001b[39m\n'
  )
  process.exit(1)
}

改為 pnpm 時,包管理器檢查的代碼為:

// preinstall.mjs
if (!/pnpm/.test(process.env.npm_execpath || '')) {
  console.warn(
    `\u001b[33mThis repository requires using pnpm as the package manager ` +
      ` for scripts to work properly.\u001b[39m\n`
  )
  process.exit(1)
}

通過對比,vue 是通過 process.env.npm_execpath 來判斷包管理器的種類的,通過獲取包管理器的路徑,配合關鍵詞檢索,就可以完成包管理的種類判斷了。

關于“如何判斷當前使用哪種npm包管理器”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“如何判斷當前使用哪種npm包管理器”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:如何判斷當前使用哪種npm包管理器
文章網(wǎng)址:http://www.chinadenli.net/article38/joidpp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司品牌網(wǎng)站制作網(wǎng)站維護網(wǎng)頁設計公司網(wǎng)站排名網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)