2017-10-05 1 views
0

Wie erstellt man einen Knoten, der sowohl eine CLI- als auch eine JavaScript-API enthält, wobei die spezifische Logik abhängig davon, wo sie ausgeführt wird, expliziert wird.Erstellen eines Knotenpakets sowohl für CLI als auch für JavaScript

Dies ist offensichtlich sehr ähnlich zu den meisten großen Knoten Pakete, aber ich konnte keine Diskussionen über diese Art von Muster finden.

Antwort

0

Sie können eine Shebang-Zeile am Anfang jeder JavaScript-Datei hinzufügen, zum Beispiel dieser Datei betrachten, hello.js:

#!/usr/bin/env node 

function hello(name) { 
    console.log('hello ' + name); 
} 

/* if called directly from command line or from a shell script */ 
if (require.main === module) { 
    hello(process.argv[2]); 
} 

module.exports = hello; 

Hinweis die erste Zeile, die die Shell sagt, wie der Code auszuführen .

Sie können hello.js ausführbare Datei mit diesem Befehl machen:

chmod u+x hello.js 

Jetzt können Sie es wie folgt aufrufen:

./hello.js joe 

Es Ausgang: "Hallo Joe".

Sie können auch die gleiche Datei als Abhängigkeit in jeder anderen JavaScript-Datei in Node.js wie gewohnt verwenden:

const hello = require('./hello'); 
hello('joe'); 
Verwandte Themen