Ziehen Sie meine Haare hier auf der Suche nach einer einfachen Lösung zum Teilen von Code, benötigt über NPM, über mehrere Browserify oder Webpack Bundles. Denken, gibt es so etwas wie eine Datei "Brücke"?Einfache Lösung zum Teilen von Modulen, die über NPM über mehrere Browserify- oder Webpack-Bundles verteilt sind
Dies ist nicht rechtzeitig zu kompilieren (ich bin mir dessen bewusst watchify), sondern der Wunsch, alle meine herstellerspezifischen Libs in vendor.js
zu extrahieren so über meine app.js
Dateigröße zu halten und nicht den Browser zum Absturz zu bringen mit massiven Quellkarten. Außerdem finde ich es sauberer, wenn die Notwendigkeit besteht, die kompilierten js zu sehen. Und so:
// vendor.js
require('react');
require('lodash');
require('other-npm-module');
require('another-npm-module');
Es ist sehr wichtig, dass der Code von NPM geladen werden, da zu Bower im Gegensatz oder in einem gewissen ‚Anbieter‘ Verzeichnis gespeichert, um über einen relativen Pfad importiert zu werden und über eine Shim identifiziert. Ich möchte, dass jede Bibliotheksreferenz über NPM abgerufen wird, mit Ausnahme meiner eigentlichen Anwendungsquelle.
In app.js
halte ich alle meine Sourcecode und über die externals
Array ausschließen Anbieter Bibliotheken oben aus der Kompilierung aufgeführt:
// app.js
var React = require('react');
var _ = require('lodash');
var Component = React.createClass()
// ...
Und dann in index.html
, benötige ich beide Dateien
// index.html
<script src='vendor.js'></script>
<script src='app.js'></script>
Wie kann ich mit Browserify oder Webpack so arbeiten, dass app.js
in das über npm geladene Modul "hineinsehen" kann? Ich bin mir bewusst, ein Bündel mit externen Elementen zu erstellen und dann auf die direkte Datei (in, sagen wir node_modules
) über einen Alias zu verweisen, aber ich hoffe, eine Lösung zu finden, die mehr automatisch ist und weniger "Require.js".
Grundsätzlich frage ich mich, ob es möglich ist, die beiden zu überbrücken, so dass app.js
vendor.js
nach innen schauen können, um Abhängigkeiten aufzulösen. Dies scheint eine einfache, unkomplizierte Operation zu sein, aber ich kann nirgendwo auf diesem weiten, weiten Netz eine Antwort finden.
Danke!
Ich gehe davon reagieren geht im Kreditoren Array auch? – Leahcim
enthalten Sie nur den Namen der Herstellerdatei in diesem Array oder sollte es ein Pfad zu diesem sein? – Leahcim
Ich möchte kein separates Paket oder Chunk für meine separate Bibliothek von Komponenten erstellen, die ich zwischen Projekten teile. Ich möchte nur die Quelldateien direkt benötigen. Kennst du einen Weg, dies zu tun? (vollständige Frage: http://stackoverflow.com/questions/31820641/how-to-set-up-a-private-shared-library-of-react-components-with-webpack) – Andy