[Organisasi dan perkongsian] Bagaimana untuk menentukan pengurus pakej npm yang sedang digunakan

青灯夜游
Lepaskan: 2023-02-01 20:00:35
ke hadapan
2174 orang telah melayarinya

Bagaimana untuk menentukan pengurus pakej npm semasa? Artikel berikut akan berkongsi dengan anda cara untuk menentukan pengurus pakej npm yang sedang anda gunakan, saya harap ia akan membantu anda

[Organisasi dan perkongsian] Bagaimana untuk menentukan pengurus pakej npm yang sedang digunakan

Ia adalah lebih biasa untuk menggunakan npm untuk. pemasangan pergantungan. Walau bagaimanapun, apabila saiz dan bilangan projek meningkat, npm akan menghadapi masalah dengan kelajuan pemasangan yang perlahan dan saiz yang berlebihan. Menggunakan pengurus pakej seperti benang dan pnpm boleh menyelesaikan masalah di atas.

Jika anda ingin memaksa ahli pasukan menggunakan pengurus pakej yang sama, atau jika anda mahu mengendalikan logik yang berbeza untuk pengurus pakej yang berbeza. Anda perlu menentukan pengurus pakej yang sedang anda gunakan.

Kaedah pelaksanaan

Gudang Vue Pada masa ini, pemaju terpaksa menggunakan pnpm, dan kaedah pelaksanaannya juga sangat bijak.

Pertama sekali, apabila menjalankan skrip npm, jalankan pra-skrip melalui perintah pre terbina dalam dan gunakan process.env.npm_execpath dalam pra-skrip untuk mendapatkan laluan fail pengurus pakej tentukan laluan fail yang digunakan oleh pembangun Jenis pengurus pakej. [Tutorial berkaitan yang disyorkan: tutorial video nodejs]

Kod yang berkaitan adalah seperti berikut:

// package.json
"scripts": {
    "preinstall": "node ./scripts/preinstall.mjs",
},
Salin selepas log masuk
// 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)
}
Salin selepas log masuk
Salin selepas log masuk

pra perintah

Dalam package.json, kita sepatutnya sudah biasa dengan cara skrip npm dijalankan.

"scripts": {
    "dev": "vite",
},
Salin selepas log masuk

Dengan membaca kod di atas, kita boleh menjalankan skrip melalui npm run dev.

Selain nama skrip tersuai, npm juga mempunyai dua perintah pre dan post terbina dalam Dengan menyambung pre sebelum nama tersuai, anda boleh melaksanakan perintah pra-cangkuk.

"scripts": {
    "dev": "vite",
    "predev": "node predev.js"
    "postdev": "node postdev.js"
},
Salin selepas log masuk

Apabila anda menjalankan perintah npm run dev seperti ini, terminal akan dijalankan secara automatik npm run predev dahulu, kemudian npm run dev, dan akhirnya npm run postdev Dengan cara ini, kita boleh menyesuaikan Sebelum dijalankan skrip, pengurus pakej diadili terlebih dahulu.

process.env.npm_execpath

Sebelum vue@3.2.20, pengurus pakej Vue adalah benang, dan kemudiannya ia ditukar kepada pnpm.

Apabila menggunakan benang, kod yang disemak oleh pengurus pakej ialah:

// 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)
}
Salin selepas log masuk

Apabila ditukar kepada pnpm, kod yang disemak oleh pengurus pakej ialah:

// 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)
}
Salin selepas log masuk
Salin selepas log masuk

Lulus Sebaliknya, vue menggunakan process.env.npm_execpath untuk menentukan jenis pengurus pakej Dengan mendapatkan laluan pengurus pakej dan bekerjasama dengan pengambilan kata kunci, jenis pengurusan pakej boleh ditentukan.

Ringkasan

Dengan menggunakan gudang Vue, kita boleh menjalankan praskrip melalui perintah npm script terbina dalam pre , Dalam praskrip, gunakan process.env.npm_execpath untuk mendapatkan laluan fail pengurus pakej untuk menentukan jenis pengurus pakej yang digunakan oleh pembangun.

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci [Organisasi dan perkongsian] Bagaimana untuk menentukan pengurus pakej npm yang sedang digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!