454 Stimmen

Gibt es eine Möglichkeit, die package.json-Datei für Node.js-Projekte automatisch zu erstellen?

Soll package.json manuell bearbeitet werden? Könnte ein Programm wie npm nicht einfach durch die Dateien schauen, die "require"-Anweisungen sehen und diese dann benutzen, um die notwendigen Einträge in die package.json-Datei zu setzen? Gibt es solche Programme?

638voto

Ore4444 Punkte 8959

Die Datei package.json wird verwendet von npm um mehr über Ihr node.js-Projekt zu erfahren.

Utilice npm init um package.json-Dateien für Sie zu erzeugen!

Es wird mit npm gebündelt. Lesen Sie seine Dokumentation hier: https://docs.npmjs.com/cli/init

Außerdem gibt es ein offizielles Tool, mit dem Sie diese Datei programmatisch erstellen können: https://github.com/npm/init-package-json

212voto

nzondlo Punkte 4136

Als Erstes führen Sie

npm init

...wird Ihnen ein paar Fragen stellen ( Lesen Sie dies zuerst ) über Ihr Projekt/Paket und generiert dann eine package.json-Datei für Sie.

Wenn Sie dann eine package.json-Datei haben, verwenden Sie

npm install <pkg> --save

ou

npm install <pkg> --save-dev

...um eine Abhängigkeit zu installieren und sie automatisch an Ihre package.json 's dependencies Liste.

(Hinweis: Möglicherweise müssen Sie die Versionsbereiche für Ihre Abhängigkeiten manuell anpassen).

192voto

douyw Punkte 3906

Ich habe gerade ein einfaches Skript geschrieben, um die Abhängigkeiten in ./node_modules zu sammeln. Damit ist meine Anforderung im Moment erfüllt. Vielleicht hilft es anderen, ich poste es hier.

var fs = require("fs");

function main() {
  fs.readdir("./node_modules", function (err, dirs) {
    if (err) {
      console.log(err);
      return;
    }
    dirs.forEach(function(dir){
      if (dir.indexOf(".") !== 0) {
        var packageJsonFile = "./node_modules/" + dir + "/package.json";
        if (fs.existsSync(packageJsonFile)) {
          fs.readFile(packageJsonFile, function (err, data) {
            if (err) {
              console.log(err);
            }
            else {
              var json = JSON.parse(data);
              console.log('"'+json.name+'": "' + json.version + '",');
            }
          });
        }
      }
    });

  });
}

main();

In meinem Fall gibt das obige Skript Folgendes aus:

"colors": "0.6.0-1",
"commander": "1.0.5",
"htmlparser": "1.7.6",
"optimist": "0.3.5",
"progress": "0.1.0",
"request": "2.11.4",
"soupselect": "0.2.0",   // Remember: remove the comma character in the last line.

Jetzt können Sie sie kopieren und einfügen. Viel Spaß!

91voto

Pylinux Punkte 10206

npm init

um die Datei package.json zu erstellen, und dann verwenden Sie

ls node_modules/ | xargs npm install --save

um die im Ordner node_modules vorhandenen Module einzutragen.

Bearbeiten: @paldepind wies darauf hin, dass der zweite Befehl redundant ist, weil npm init fügt nun automatisch hinzu, was Sie in Ihrem Ordner node_modules/ haben. Ich weiß nicht, ob dies schon immer der Fall war, aber jetzt funktioniert es zumindest ohne den zweiten Befehl.

25voto

ahmed hamdy Punkte 4806

Befehlszeile :

npm init

wird die Datei package.json erstellt

Zum Installieren, Aktualisieren und Deinstallieren von Paketen unter Abhängigkeiten in der Datei package.json:

Befehlszeile :

npm install <pkg>@* --save 

fügt automatisch die neueste Version des Pakets unter dependencies in die Datei package.json ein

EX:

npm install node-markdown@* --save

Befehlszeile :

npm install <pkg> --save

fügt auch automatisch die neueste Version des Pakets unter dependencies in die package.json-Datei ein

wenn Sie benötigen eine bestimmte Version für ein Paket Befehlszeile :

npm install <pkg>@<version> --save

fügt automatisch eine bestimmte Version des Pakets unter Abhängigkeiten in die Datei package.json ein

EX:

npm install koa-views@1.0.0 --save

wenn Sie benötigen einen bestimmten Versionsbereich für ein Paket, verwenden Sie dies Befehlszeile :

npm install <pkg>@<version range>

fügt automatisch die neueste Version für das Paket zwischen den Versionen unter Abhängigkeiten in die Datei package.json ein

EX:

npm install koa-views@">1.0.0 <1.2.0" --save

Für mehr Details darüber, wie man eine Version für ein Paket schreibt npm Doc

Befehlszeile :

npm update --save

aktualisiert die Pakete in der Datei package.json und fügt automatisch aktualisierte Versionen für alle Pakete unter den Abhängigkeiten in die Datei package.json ein

Befehlszeile :

npm uninstall <pkg> --save

entfernt automatisch Pakete aus den Abhängigkeiten in der Datei package.json und aus dem Ordner node_module

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X