Eksekusi global NPM/Node.js

Apr 07 2023
Pernahkah Anda menemukan perpustakaan yang, setelah instalasi global, menawarkan berbagai perintah global? Ini adalah perpustakaan eslint yang populer. Jika Anda menginstalnya secara global maka Anda akan mendapatkan perintah global bernama eslint.

Pernahkah Anda menemukan perpustakaan yang, setelah instalasi global, menawarkan berbagai perintah global?

Ini adalah perpustakaan populer eslint. Jika Anda menginstalnya secara global maka Anda akan mendapatkan perintah global bernama eslint.

Mari kita lihat cara membuat sesuatu seperti itu.

Jadi, saya menulis potongan kode ini ke dalam file bernama hello.js.

#!/usr/bin/env node

console.log('Hey dear!');

Sekarang jika kami mencoba mengeksekusi hello.jsfile kami, kami akan mendapatkan kesalahan semacam ini.

$ ./hello.js
-bash: ./hello.js: Permission denied

Untuk itu, kita perlu menggunakan chmoduntuk membuatnya bekerja.

chmod +x hello.js

Sekarang kita bisa menjalankannya seperti ini!

$ ./hello.js
Hey dear!

Btw kita bisa lebih menyederhanakannya dengan mengganti namanya menjadi seperti hello.
Jenis file tidak penting dalam kasus ini, karena kami menulis sesuatu yang ajaib di baris pertama file.

Saya tidak akan mencobanya, karena kami menginginkan sesuatu yang akan dimainkan npm i -g, bukan?

Jadi mari kita lanjutkan memasak…

Kami dapat memeriksa eslint'sbasis kode, dan melihat bagaimana mereka melakukannya. Kami hanya perlu memeriksa package.jsonfile mereka.

https://github.com/eslint/eslint/blob/main/package.json

Seperti yang Anda lihat di sini, mereka telah menggunakan binobjek ini untuk mengonfigurasi perintah global yang dapat dieksekusi.

Sekarang saya akan melakukan hal yang sama.

Saya akan membuat proyek Node.js. Dan konfigurasikan hello.jsyang dapat dieksekusi seperti pada eslint'scontoh.

mkdir sayhi-nairi && cd sayhi-nairi
npm init --yes

{
  // ...
  "bin" : {
    "hello" : "./hello.js"
  }
}

npm publish

https://www.npmjs.com/sayhi-nairi

Menggunakan whichperintah Anda dapat melihat di mana npmdisimpan yang dapat dieksekusi.

Untuk informasi tambahan, lihat dokumentasi NPM dan bereksperimenlah dengan berbagai fitur untuk mengeksplorasi apa lagi yang dapat Anda capai.

Terima kasih telah meluangkan waktu untuk membaca artikel ini. Jangan ragu untuk menghubungi saya dengan pertanyaan atau komentar yang mungkin Anda miliki. @nairihar

Cara Menskalakan Server Soket Node.js dengan Nginx dan Redis Cara menggunakan Dalang di Heroku Sumber daya gratis Heroku mati, ayo gunakan Render