Eseguibili NPM/Node.js globali

Apr 07 2023
Ti sei mai imbattuto in una libreria che, dopo l'installazione globale, offre una gamma di comandi globali? Questa è la famosa libreria eslint. Se lo installi a livello globale, otterrai un comando globale chiamato eslint.

Ti sei mai imbattuto in una libreria che, dopo l'installazione globale, offre una gamma di comandi globali?

Questa è la eslintbiblioteca popolare. Se lo installi globalmente, otterrai un comando globale chiamato eslint.

Vediamo come realizzare una cosa del genere.

Quindi, scrivo questo pezzo di codice in un file chiamato hello.js.

#!/usr/bin/env node

console.log('Hey dear!');

Ora se proviamo ad eseguire il nostro hello.jsfile, otterremo questo tipo di errore.

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

Per questo, abbiamo bisogno dell'uso chmodper farlo funzionare.

chmod +x hello.js

Ora possiamo eseguirlo in questo modo!

$ ./hello.js
Hey dear!

A proposito, possiamo semplificarlo maggiormente rinominandolo in qualcosa come hello.
Il tipo di file non è importante in questo caso, poiché abbiamo scritto qualcosa di magico nella prima riga del file.

Non lo proverò, perché volevamo qualcosa con cui suonare npm i -g, giusto?

Quindi continuiamo a cucinare...

Possiamo controllare eslint'sla base di codice e vedere come hanno fatto. Dobbiamo solo controllare il loro package.jsonfascicolo.

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

Come puoi vedere qui hanno usato questo binoggetto per configurare il loro comando eseguibile globale.

Ora farò lo stesso.

Creerò un progetto Node.js. E configurare l' hello.jseseguibile come nell'esempio eslint's.

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

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

npm publish

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

Usando whichil comando puoi vedere dove npmè memorizzato quell'eseguibile.

Per ulteriori informazioni, fare riferimento alla documentazione NPM e sperimentare diverse funzionalità per esplorare cos'altro è possibile ottenere.

Grazie per aver dedicato del tempo a leggere questo articolo. Non esitare a contattarmi per qualsiasi domanda o commento tu possa avere. @nairihar

Come scalare Node.js Socket Server con Nginx e Redis Come usare Puppeteer in Heroku Le risorse gratuite di Heroku sono morte, usiamo Render