Soll package.json manuell bearbeitet werden? Könnte ein Programm wie npm nicht einfach die Dateien durchsuchen, die "require" -Anweisungen anzeigen und dann die erforderlichen Einträge in die Datei package.json einfügen? Gibt es solche Programme?
412
npm link
Antworten:
Die Datei package.json wird von npm verwendet , um mehr über Ihr node.js-Projekt zu erfahren.
Verwenden Sie
npm init
diese Option, um package.json-Dateien für Sie zu generieren!Es kommt mit npm gebündelt. Lesen Sie die Dokumentation hier: https://docs.npmjs.com/cli/init
Außerdem gibt es ein offizielles Tool, mit dem Sie diese Datei programmgesteuert generieren können: https://github.com/npm/init-package-json
quelle
npm init
war genau das, wonach ich gesucht habe! Auch danach laufe ich normalerweisenpm shrinkwrap
, um einenpm-shrinkwrap.json
Datei zu erstellennpm init
: Verwendennpm install <pkg> --save
Sie diese Option anschließend, um ein Paket zu installieren und als Abhängigkeit in der Datei package.json zu speichern.npm init
in der Package Manager-Konsole von Visual Studio 2015 wird sie nur angezeigt[...] Press ^C at any time to quit.
und gestoppt, ohne dass Sie etwas fragen oder die JSON-Datei erstellen müssen. Vermisse ich etwasnpm init --force --yes
ist der einzige Liner, der diese Datei generiertZuerst laufen
... wird Ihnen einige Fragen ( lesen Sie diese zuerst ) zu Ihrem Projekt / Paket stellen und dann eine package.json-Datei für Sie generieren.
Sobald Sie eine package.json-Datei haben, verwenden Sie
oder
... eine Abhängigkeit zu installieren und automatisch hängen Sie ihn an Ihre
package.json
‚sdependencies
Liste.(Hinweis: Möglicherweise müssen Sie die Versionsbereiche für Ihre Abhängigkeiten manuell anpassen.)
quelle
package.json
, es wird normalerweise automatisch behandelt.--save
ist in neueren npm-Versionen nicht mehr erforderlichIch habe gerade ein einfaches Skript geschrieben, um die Abhängigkeiten in ./node_modules zu sammeln. Es erfüllt meine Anforderungen im Moment. Dies kann einigen anderen helfen, ich poste es hier.
In meinem Fall gibt das obige Skript Folgendes aus:
Jetzt können Sie sie kopieren und einfügen. Habe Spaß!
quelle
npm ls --depth=0
mehr oder weniger gleich gedruckt wird (nicht sicher, ob dies 2012 der Fall war)a
und Paketa
benötigt Paketeb
undc
, dieses Skript gibt alle Ebenen, soa
,b
,c
das ist nicht richtig. Es sollte nur ausgegeben werdena
, die Unterpakete werden automatisch aufgelöst.npm init
um die package.json Datei zu erstellen und dann verwenden Sie
ls node_modules/ | xargs npm install --save
um die Module auszufüllen, die Sie im Ordner node_modules haben.
Bearbeiten: @paldepind wies darauf hin, dass der zweite Befehl redundant ist, da
npm init
jetzt automatisch hinzugefügt wird, was Sie in Ihrem node_modules / Ordner haben. Ich weiß nicht, ob dies schon immer der Fall war, aber jetzt funktioniert es zumindest ohne den zweiten Befehl.quelle
npm init
Abhängigkeiten basierend auf installierten Paketen automatisch hinzugefügt wurden und dass der zweite Befehl nicht ausgeführt werden musste.npm dedupe
Abhängigkeiten, die von Ihren Modulen gemeinsam genutzt werden, aus diesen Modulen entfernt und auf der obersten Ebene Ihresnode_modules
Verzeichnisses gespeichert . Aber es berührt nichtpackage.json
! Auf diese Weise können Sie Ihr dedupliziertes Setup festschreiben und freigeben.Befehlszeile :
erstellt die Datei package.json
So installieren, aktualisieren und deinstallieren Sie Pakete unter Abhängigkeiten in der Datei package.json:
Befehlszeile :
fügt automatisch die neueste Version für das Paket unter Abhängigkeiten in die Datei package.json ein
EX:
Befehlszeile :
Außerdem wird automatisch die neueste Version für das Paket unter Abhängigkeiten in die Datei package.json eingefügt
Wenn Sie eine bestimmte Version für ein Paket benötigen, verwenden Sie diese Befehlszeile :
fügt automatisch eine bestimmte Version des Pakets unter Abhängigkeiten in die Datei package.json ein
EX:
Wenn Sie einen bestimmten Versionsbereich für ein Paket benötigen, verwenden Sie diese Befehlszeile :
fügt automatisch die neueste Version für das Paket zwischen dem Versionsbereich unter Abhängigkeiten in die Datei package.json ein
EX:
Für weitere Informationen darüber , wie Version für Paket schreiben npm Doc
Befehlszeile :
aktualisiert Pakete in der Datei package.json und fügt automatisch eine aktualisierte Version für alle Pakete unter Abhängigkeiten in die Datei package.json ein
Befehlszeile :
Entfernt das Paket automatisch aus den Abhängigkeiten in die Datei package.json und entfernt das Paket aus dem Ordner node_module
quelle
Laufen
npm init -y
macht Siepackage.json
mit allen Standardeinstellungen.Anschließend können Sie ändern
package.json
dementsprechendDieses Mal viele Zeiten spart , indem Sie verhindern
enter
auf jeden Befehl innpm init
quelle
Sie können das Yeoman - Modern Web App Scaffolding Tool jetzt in drei einfachen Schritten auf dem Knotenterminal verwenden.
Zuerst müssen Sie yo und andere erforderliche Tools installieren:
Installieren Sie den Generator-Webapp- Generator , um eine Webanwendung zu erstellen :
Lauf yo und ... du bist fertig:
Yeoman kann Boilerplate-Code für Ihre gesamte Webanwendung oder Controller und Modelle schreiben. Es kann einen Webserver mit Live-Vorschau zum Bearbeiten und Kompilieren starten. Sie können nicht nur Unit-Tests durchführen, Ihren Code minimieren und verketten, Bilder optimieren und vieles mehr ...
Yeoman (yo) - Gerüstwerkzeug, das ein Ökosystem von gerüstspezifischen Gerüsten bietet, die als Generatoren bezeichnet werden und zur Ausführung einiger der zuvor genannten mühsamen Aufgaben verwendet werden können.
Grunzen / Schlucken - wird verwendet, um Ihr Projekt zu erstellen, in der Vorschau anzuzeigen und zu testen.
Bower - wird für das Abhängigkeitsmanagement verwendet, sodass Sie Ihre Front-End-Bibliotheken nicht mehr manuell herunterladen müssen.
quelle
Basierend auf der Antwort von Pylinux finden Sie unten eine Lösung für das Windows-Betriebssystem:
Ich hoffe es hilft.
quelle
Verwenden Sie den Befehl npm init -f, um die Datei package.json zu generieren, und verwenden Sie danach --save nach jedem Befehl, damit jedes Modul automatisch in Ihrer package.json aktualisiert wird, z. B. npm install express --save
quelle
1. Wahl
Wenn Sie Git und GitHub Benutzer:
generate-package
einfacher alsnpm init
.sonst
und / oder Sie mögen keine
package.json
Vorlage, die ein Paketnpm init
generiert oder generiert:Sie können Ihre eigene Vorlage über Gerüst-Apps wie Generieren , Segeln oder Yeoman erstellen .
2. Relevanz
Diese Antwort ist für März 2018 relevant. In Zukunft sind die Daten aus dieser Antwort möglicherweise veraltet.
Der Autor dieser Antwort hat das Generate-Paket im März 2018 persönlich verwendet.
3. Einschränkungen
Sie müssen git und GitHub verwenden, um generate-package zu verwenden.
4. Demonstration
Zum Beispiel erstelle ich einen leeren Ordner
sasha-npm-init-vs-generate-package
.4.1. Generate-Package
Befehl:
package.json
::4.2. npm init
Ich denke, das
generate-package
einfacher, dasnpm init
.5. Customizing
Das erstellen Sie Ihre eigene
package.json
Vorlage, siehe generieren und yeoman Beispiele.quelle