Ich bin ein wenig verwirrt mit wie webpack funktioniert. Wenn Sie in Ihrem Root-Director npm install examplePackage
ausführen, installiert das dann das Paket auf Ihrer Festplatte? Dann bedeutet das, dass Sie dieses Paket jederzeit in jede Datei importieren können? Wie unterscheidet sich das als in Ihrem Projekt statt? Liegt es daran, dass wenn du dein Projekt nach Github schubst, es ein package.json geben wird, damit andere Leute ihnen folgen und sicherstellen, dass sie auch die notwendigen Bibliotheken haben, um deine App laufen zu lassen? Woher weiß der Knoten, ob er Ihr Projekt für ein Paket oder Ihre Festplatte durchsucht? Überprüft es zuerst Ihre Bibliothek und dann, wenn es nicht gefunden wird, wird es auf Ihrer Festplatte aussehen?Globale webpack installieren vs. projektspezifische webpack installieren
Antwort
npm install examplePackage
wird das Paket in node_modules
des aktuellen Verzeichnisses installieren. Wenn Sie ein Modul in Node.js mit require('examplePackage')
prüft er zuerst importieren, wenn es ein Kernmodul (z fs). Wenn es kein Kernmodul ist, sucht es in node_modules
des aktuellen Verzeichnisses. Wenn das Modul nicht in diesem Verzeichnis gefunden wird, wird es in das übergeordnete Verzeichnis verschoben und überprüft das Verzeichnis node_modules
. Und so weiter, bis das Modul gefunden wurde oder der Root des Dateisystems erreicht ist. Siehe https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders
Das bedeutet in der Tat, dass Sie ein Paket, das in /
installiert wurde, von überall in Ihrem Dateisystem importieren können. Obwohl es möglich wäre, alle Abhängigkeiten einfach in /
zu installieren, gibt es viele Vorteile projektabhängiger Abhängigkeiten. Wahrscheinlich ist der größte Vorteil, dass Sie Ihr Projekt leicht mit anderen teilen können und Sie können sicher sein, dass es für sie funktioniert (unter der Annahme einer kompatiblen Node.js-Version).
Woher weiß der Knoten, ob er Ihr Projekt für ein Paket oder Ihre Festplatte durchsucht?
Es sieht nur auf Ihrer Festplatte, speziell in den node_modules
Verzeichnissen wie oben erwähnt. Wie Sie bemerkt haben, können Sie die Abhängigkeiten in package.json
angeben, aber der Knoten selbst tut nichts mit diesen Informationen. Stattdessen müssen Sie npm install
ausführen, dies wird alle aufgelisteten Abhängigkeiten in package.json
installieren. Danach können Sie diese Module korrekt importieren.
Hinweis:npm install examplePackage
nicht hinzufügen examplePackage
zu Ihrem package.json
, installiert es einfach. Wenn Sie es als Abhängigkeit hinzufügen möchten, verwenden Sie npm install --save examplePackage
oder als devDependency mit npm install --save-dev examplePackage
. https://docs.npmjs.com/cli/install
CLI
Kommandozeilen-Tools oder Pakete in der Regel mit ausführbaren Dateien, wie webpack, in node_modules/.bin
und zur Verfügung stehen, um sie auszuführen, haben sie entweder direkt in Ihrem Shell PATH
oder genannt werden. Da es sehr häufig ist, dass ein Projekt lokal ausführbare Dateien installiert Anrufe, können Sie sie im scripts
Abschnitt der package.json
ohne sie mit node_modules/.bin
prefixing verwenden. Zum Beispiel webpack laufen könnten Sie ein Skript definieren:
"scripts": {
"build": "webpack"
}
Und dann npm run build
laufen stattdessen ./node_modules/.bin/webpack
laufen zu haben. Weitere Informationen zu Skripten: https://docs.npmjs.com/misc/scripts
- 1. wie singularitygs installieren webpack mit
- 2. webpack: Muss ich webpack installieren, um package.js zu verwenden
- 3. Wie können wir Webpack unter Windows installieren?
- 4. npm installieren Fehler in vue-cli webpack
- 5. Installieren einer Kaffee-Skriptbibliothek in Webpack
- 6. webpack Objekt aussetzen als globale
- 7. Globale Funktion mit Webpack exportieren
- 8. Webpack dev VS Produktionsserver
- 9. Webpack - webpack-dev-server: Befehl nicht gefunden
- 10. CDN vs Webpack für React
- 11. webpack-dev-server vs nodemon
- 12. pip installieren vs. Conda
- 13. Jasmine + Webpack: Hersteller Jasmine globale Funktionen
- 14. Zugriff auf vordefinierte globale Variable mit Webpack
- 15. Vue & Webpack: Globale Entwicklungs- und Produktionsvariablen
- 16. webpack -
- 17. Webpack Fehler, wenn "webpack" Befehl
- 18. Kann Webpack mit npm
- 19. Python setup.py entwickeln vs installieren
- 20. Installieren Sie VS 2008 Prof
- 21. Installieren Sie eine globale Drush via Composer
- 22. Bündel vs Bündler/bundle vs Bündel installieren
- 23. npm webpack: coomand nicht
- 24. fehlenden Skript: Typisierungen installieren
- 25. eckig 2 - ng build vs. webpack build
- 26. webpack-dev-server --hot vs. HotModuleReplacementPlugin()
- 27. Babel vs webpack babel-loader bauen
- 28. Webpack mit Angular2 und VS 2015
- 29. JSPM vs WebPack für Angular 2
- 30. Fehler insalling webpack mit npm
Wenn Sie 'npm webpack -g' installieren und' npm build' ausführen, funktioniert es nicht, weil es nicht lokal in Ihrem Projekt installiert ist?Wenn Sie den Skriptabschnitt wie den oben in der Datei package.json beschriebenen verwenden, kann er weiterhin das Webpack in Ihrem Stammverzeichnis finden? – stackjlei
Es wird funktionieren, wenn es in der PATH Ihrer Shell ist. Global installierte (mit '-g') Pakete sollten sich in Ihrem' PATH' befinden (die meisten Node.js-Installationen werden es tun oder Ihnen sagen, wie es geht). –