Wie kann ich npm-Module lokal für jedes Projekt in vendor/node_modules
installieren und package.json
file anzeigen lassen.
Ich möchte package.json nicht in den Herstellerordner
verschieben Ich habe Bower und in .bowerrc
gebe ich den bower_components
Pfad an - das ist super einfach.
Wie kann ich das mit npm machen?
Ich habe die Dokumente gelesen, npmrc docs, ein paar Fragen hier, gegoogelt, mehr als eine Stunde vergeudet - immer noch kein Glück. Das ist lächerlich schwer für eine so einfache Aufgabe.
Ich kümmere mich nicht um Minuspunkte, sag mir einfach, wie ich das endlich machen soll.
Frustriert durch die Tatsache, dass es anscheinend keine eingebaute Möglichkeit gibt, in einen node_modules
-Ordner in einem beliebigen Unterordner zu installieren, habe ich eine raffinierte Lösung mit den beiden folgenden Skripten gefunden:
preinstall.js
%Vor%postinstall.js
%Vor% Sie müssen sie nur in Ihrer package.json
-Datei verwenden, indem Sie sie der Option scripts
hinzufügen:
Die große Frage ist also: Was macht es?
Nun, wenn Sie npm install
aufrufen, wird das preinstall.js
-Skript ausgelöst, das ein node_modules
im gewünschten Unterordner erzeugt. Dann erstellt es eine symlink
oder ( shortcut
in Windows) von der node_modules
, die npm
erwartet an die reale node_modules
.
Dann installiert npm
alle Abhängigkeiten.
Wenn alle Abhängigkeiten einmal installiert sind, wird das postinstall.js
-Skript ausgelöst, das symlink
!
Hier ist ein praktisches Stichwort mit allem, was Sie brauchen.
Sie können die eingebaute npm-Funktionalität nicht verwenden.
In dieser Diskussion zum npm github-Repository wird das Problem behandelt. Es wird auch in diese antwort welche ist Teil ihrer FAQ.
Sie können die Installationen weiterhin "manuell" durchführen, indem Sie Module in Ihr /vendor
-Verzeichnis kopieren und sie dann mit der require("./vendor/whatever")
-Syntax aufrufen ... aber das bedeutet, dass require
Ihren neuen benutzerdefinierten Speicherort verwenden muss. Es gibt ein paar Möglichkeiten, wie Sie damit umgehen können, aber alle bedeuten, dass Sie in Ihrer Quelle zusätzliche Arbeit verrichten, um den benutzerdefinierten Speicherort aufzunehmen.
Tags und Links node.js npm node-modules