Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie ein einfaches Node.js-Gerüst

So implementieren Sie ein einfaches Node.js-Gerüst

小云云
小云云Original
2017-12-05 12:03:031546Durchsuche

In diesem Artikel wird hauptsächlich die Implementierung eines einfachen Node.js-Gerüsts vorgestellt. Ich hoffe, dass jeder ein besseres Verständnis von Node.js hat.

Bei der Arbeit muss ein Gerüst entwickelt werden, um relevanten Benutzern relevanten Entwicklungskomfort zu bieten.

Geeignet für Personen

Sie haben ein gewisses Verständnis für Front-End- und Node-Operationen und möchten auch den Gerüstentwicklungsprozess oder Entwickler verstehen, die dies benötigen ein Gerüst selbst aufstellen.

Ziel

  1. Entwickeln Sie ein einfaches Gerüst, das Benutzern zur Installation bereitgestellt werden kann.

  2. kann relevante Eingabeaufforderungen ausgeben.

  3. Führen Sie Lese- und Schreibvorgänge für Benutzerdateien durch.

  4. Verwenden Sie Shell-Skripte im Gerüstbau.

Schritte

Entwicklung des Gerüstes

Der Beginn der Entwicklung Der Prozess des Gerüstbaus ist der gleiche wie bei einem normalen Front-End-Projekt und erfordert eine Eingabedatei command.js und eine Konfigurationsdatei package.json.

Im Gegensatz zu anderen Konfigurationsdateien müssen Sie der Datei package.json das folgende Element hinzufügen:


{
 ...,
 "bin": {
    "cm-cli": "command.js"
  }
}


Nachdem Sie dieses Element zur Konfigurationsdatei hinzugefügt haben, müssen Sie nur noch den Befehl npm link im Stammverzeichnis der Konfigurationsdatei ausführen und können den Befehl cm-cli --help verwenden, um das geladene cm-cli-Gerüst anzuzeigen .

Wenn Sie Ihr Gerüst veröffentlichen, können andere Benutzer Ihr Gerüst global verwenden, nachdem sie den Befehl npm install -g cm-cli verwendet haben.

Den Benutzer auffordern

Um Kommentare und Befehle aufzufordern, müssen wir das Commander-Paket verwenden, das mit npm install commander installiert werden kann. (Wenn die NPM-Version niedriger als 5 ist, müssen Sie den Parameter --save hinzufügen, um sicherzustellen, dass die Konfigurationsdatei package.json aktualisiert wird.)

Commander ist eine leistungsstarke Funktion, die dem Benutzer Befehlszeileneingaben und Parameteranalyse ermöglicht. Bei Bedarf können Sie die entsprechende Bibliotheksdokumentation lesen. Hier stelle ich die beiden am häufigsten verwendeten Methoden vor.

Option

kann benutzerdefinierte Parameterobjekte initialisieren, Schlüsselwörter und Beschreibungen festlegen sowie Parameter zum Lesen von Benutzereingaben festlegen. Die spezifische Verwendung ist wie folgt:


const commander = require('commander');

commander.version('1.0.0')
  .option('-a, --aaa', 'aaaaa')
  .option('-b, --bbb', 'bbbbb')
  .option('-c, --ccc [name]', 'ccccc')
  .parse(process.argv);


if (commander.aaa) {
  console.log('aaa');
}

if (commander.bbb) {
  console.log('bbb');
}

if (commander.ccc) {
  console.log('ccc', commander.ccc);
}


Die spezifische Verwendung ist wie folgt:

Befehl

Diese Methode kann der Befehlszeile einen Befehl hinzufügen. Nachdem der Benutzer diesen Befehl ausgeführt hat, kann er die Logik im Rückruf ausführen. Die spezifische Verwendung ist wie folgt:


commander
  .command(&#39;init <extensionId>&#39;)
  .description(&#39;init extension project&#39;)
  .action((extensionId) => {
    console.log(`init Extension Project "${extensionId}"`);
    // todo something you need
  });


Der spezifische Anzeigeeffekt ist wie folgt:

Benutzerdateien lesen und schreiben

Durch die oben genannten Schritte konnten wir ein einfaches Gerüst fertigstellen. Als nächstes müssen wir die Benutzerkonfiguration lesen und einige Vorlagendateien für den Benutzer generieren.

Datei lesen

Jetzt müssen wir die cm-cli.json-Konfigurationsdatei des Benutzers lesen, um einige Konfigurationen vorzunehmen.

Wir können das fs-Dateimodul von Node.js verwenden, um den Dateifortschritt zu lesen. Da es hier nicht viele Schwierigkeiten gibt, werden wir es weglassen.

Dateivorlage schreiben

Wir speichern die Vorlagendatei im Voraus im CDN und fahren dann mit dem Herunterladen der Vorlage basierend auf den relevanten, lokal gelesenen Gerüstkonfigurationsdateien fort .

Hinweis: Der im Gerüst gelesene Pfad ist der aktuelle Pfad, wenn der Benutzer ihn verwendet. Daher gibt es keine Möglichkeit, die Vorlagendatei zum Lesen im Gerüst zu speichern.

Wir können Bibliotheken wie request verwenden, um uns beim Herunterladen von Dateien zu helfen und die Betriebsschritte zu vereinfachen. Führen Sie zur Installation die „npm install request“ aus.

Hinweis: Beim Schreiben einer Datei wird empfohlen, zunächst festzustellen, ob die Datei vorhanden ist, bevor Sie sie überschreiben.

Verwenden von Shell-Skripten

Den von Node.js bereitgestellten API-Funktionen nach zu urteilen, bevorzugen einige Leute die Verwendung von Shell-Skripten für Dateioperationen. Glücklicherweise können wir auch node-cmd in unser Gerüst einführen, um die Unterstützung für Shell-Skripte zu ermöglichen. Führen Sie zur Installation npm install node-cmd aus.

Konkrete Beispiele sind wie folgt:


commander
  .command(&#39;init <extensionId>&#39;)
  .description(&#39;init extension project&#39;)
  .action((extensionId) => {
    id = extensionId;
    console.log(`init Extension Project "${extensionId}"`);

    cmd.get(
      `
      mkdir -p static/${extensionId}

      mkdir tmp
      mkdir tmp/source-file
      mkdir tmp/build-file
      curl -o tmp/source-file/index.js https://xxxxxxxx.com?filename=index.js
      touch tmp/source-file/index.css

      curl -o tmp/build-file/server.js https://xxxxxxxx.com?filename=server.js
      curl -o tmp/build-file/router.js https://xxxxxxxx.com?filename=router.js
      curl -o tmp/build-file/package.json https://xxxxxxxx.com?filename=package.json
      
      cp tmp/source-file/* static/${extensionId}
      cp tmp/build-file/* ./
      rm -fr tmp
      npm install
      `,
      (err, data) => {
        console.log(data)
        if (!err) {
          console.log(&#39;init success&#39;);
          return;
        }

        console.error(&#39;init error&#39;);
      });
  });


Wir können Shell-Skripte schnell verwenden, um Ordner und Dateien zu erstellen Vorlagen-Downloads.

Wenn Sie möchten, dass das Gerüst schnell im Terminal ausgeführt wird, können Sie relevante Felder zur Konfigurationsdatei package.json hinzufügen.

Scaffolding muss in der Lage sein, relevante Terminaleingaben zu lesen und kann die Commander-Bibliothek für eine schnelle Entwicklung nutzen.

Scaffolding muss in der Lage sein, Shell-Skripte auszuführen, und Sie können die Node-CMD-Bibliothek verwenden, um Ihre Anforderungen schnell umzusetzen.

Der obige Inhalt zeigt, wie man ein einfaches Node.js-Gerüst implementiert. Ich hoffe, dass es für alle hilfreich ist.

Verwandte Empfehlungen:

Erste Einführung in node.js

So verwenden Sie node.js zum Schreiben eines Streams createWriteStream

node.js Publish-Subscribe-Modus-Methode

Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein einfaches Node.js-Gerüst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn