Saya baru saja mulai belajar Bereaksi, dan Facebook membantu menyederhanakan pengaturan awal dengan menyediakan proyek siap pakai berikut .
Jika saya harus menginstal proyek kerangka saya harus mengetikkan npx create-react-app my-app
command-line.
Saya bertanya-tanya mengapa Facebook di Github memiliki npx create-react-app my-app
bukan npm create-react-app my-app
?
javascript
npm
npx
Paresh Maniyar
sumber
sumber
create-react-app
adalah generator.npx
pergi ke internet , mengunduh paket sementara sehingga dapat menjalankannya ( np x ). Apa yang Anda dapatkan (dan inginkan) adalah output, yang disimpan secara lokal, di mana Anda telah menjalankan perintah.Jawaban:
Memperkenalkan npx: pelari paket npm
NPM
- Mengelola paket tetapi tidak membuat hidup mudah dijalankan .NPX
- Alat untuk menjalankan paket Node.NPM
dengan sendirinya tidak hanya menjalankan paket apa pun. itu tidak menjalankan paket apa pun sebenarnya. Jika Anda ingin menjalankan paket menggunakan NPM, Anda harus menentukan paket itu dipackage.json
file Anda .Ketika executable diinstal melalui paket NPM, NPM menautkannya:
./node_modules/.bin/
direktori.bin/
direktori global (mis./usr/local/bin
) di Linux atau%AppData%/npm
pada Windows.Dokumentasi yang harus Anda baca
NPM:
Seseorang mungkin menginstal paket secara lokal pada proyek tertentu:
Sekarang katakanlah Anda ingin NodeJS menjalankan paket itu dari baris perintah:
Di atas akan gagal . Hanya paket yang terinstal secara global yang dapat dijalankan dengan mengetikkan namanya saja .
Untuk memperbaiki ini, dan menjalankannya, Anda harus mengetikkan path lokal:
Anda dapat secara teknis menjalankan paket yang diinstal secara lokal dengan mengedit
packages.json
file Anda dan menambahkan paket itu discripts
bagian:Kemudian jalankan skrip menggunakan
npm run-script
(ataunpm run
):NPX:
npx
akan memeriksa apakah<command>
ada di$PATH
, atau dalam binari proyek lokal, dan jalankan. Jadi, untuk contoh di atas, jika Anda ingin menjalankan paket yang diinstal secara lokal, yangsome-package
perlu Anda lakukan adalah mengetik:Keuntungan utama lainnya
npx
adalah kemampuan untuk mengeksekusi paket yang sebelumnya tidak diinstal:Contoh di atas akan menghasilkan
react
aplikasi boilerplate di jalur yang telah dijalankan oleh perintah, dan memastikan bahwa Anda selalu menggunakan versi terbaru dari generator atau alat bangun tanpa harus memutakhirkan setiap kali Anda akan menggunakannya.Pertanyaan-pertanyaan Terkait:
sumber
node.js
, kan? Mengapa ini tersedia melalui 'npm' (manajer paket node)?./node_modules/.bin
ke $ PATH dan NPX Anda tidak diperlukan.npx adalah pelari paket npm (x mungkin singkatan dari eXecute). Penggunaan khas adalah untuk mengunduh dan menjalankan paket sementara atau untuk uji coba.
create-react-app adalah paket npm yang diharapkan dapat dijalankan hanya sekali dalam siklus hidup proyek. Oleh karena itu, lebih disukai menggunakan npx untuk menginstal dan menjalankannya dalam satu langkah.
Seperti disebutkan dalam halaman manual https://www.npmjs.com/package/npx , npx dapat menjalankan perintah di PATH atau dari node_modules / .bin secara default.
Catatan: Dengan beberapa penggalian, kita dapat menemukan bahwa create-react-app menunjuk ke file Javascript (mungkin ke /usr/lib/node_modules/create-react-app/index.js pada sistem Linux) yang dijalankan dalam lingkungan simpul . Ini hanyalah alat global yang melakukan beberapa pemeriksaan. Pengaturan aktual dilakukan oleh skrip reaksi, yang versi terbarunya dipasang di proyek. Lihat https://github.com/facebook/create-react-app untuk info lebih lanjut.
sumber
NPM adalah manajer paket, Anda dapat menginstal paket node.js menggunakan NPM
NPX adalah alat untuk mengeksekusi paket node.js.
Tidak masalah apakah Anda menginstal paket itu secara global atau lokal. NPX sementara akan menginstalnya dan menjalankannya. NPM juga dapat menjalankan paket jika Anda mengonfigurasi file package.json dan memasukkannya ke dalam bagian skrip.
np M - Manajer
np X - Jalankan - mudah diingat
sumber
NPX:
Dari https://www.futurehosting.com/blog/npx-makes-life-easier-for-node-developers-plus-node-vulnerability-news/ :
sumber
NPM can just install local versions
- tidak benar.npm
dapat menginstal global dan ini adalah praktik umum.npx
menjalankan perintah suatu paket tanpa menginstalnya secara eksplisit.Gunakan kasing:
Sintaksis:
Paket adalah opsional:
Sebagai contoh:
Lebih lanjut tentang
command
:sumber
Definisi sederhana:
npm - manajer paket Javascript
npx - Menjalankan binari paket npm
sumber
Berikut adalah contoh NPX yang sedang beraksi: npx cowsay halo
Jika Anda mengetiknya di terminal bash, Anda akan melihat hasilnya. Manfaatnya adalah npx memasang sementara cowsay. Tidak ada polusi paket karena cowsay tidak diinstal secara permanen. Ini bagus untuk paket satu kali di mana Anda ingin menghindari polusi paket.
Seperti disebutkan dalam jawaban lain, npx juga sangat berguna dalam kasus di mana (dengan npm) paket perlu diinstal kemudian dikonfigurasi sebelum berjalan. Misalnya alih-alih menggunakan npm untuk menginstal dan kemudian mengkonfigurasi file json.package dan kemudian memanggil perintah jalankan yang dikonfigurasi, gunakan saja npx. Contoh nyata: npx create-react-app my-app
sumber