Ich kann wirklich einige Arbeiten hinter browserify
nicht verstehen. Bei Verwendung von reinen JavaScript-Modulen scheint es "einfach" zu sein, es in Browser-Code zu konvertieren, selbst wenn es viele Abhängigkeiten gibt.
Aber browserify
macht mehr:
Viele npm-Module, die IO nicht ausführen, funktionieren nur nachdem sie vorhanden sind browserisiert. Andere nehmen mehr Arbeit.
Viele integrierte Knotenmodule wurden in den Browser eingebunden, aber nur wenn du
require()
explizit benutzt oder ihre Funktionalität benutzt.Wenn Sie eines dieser Module benötigen, erhalten Sie eine Browser-spezifische Shim.
Und nochmal:
- process.nextTick (), __dirname und __filename node-isms funktionieren
- Abrufen von Browserversionen der Knoten-Kernbibliotheken Ereignisse, Stream, Pfad, URL, assert, puffer, util, querystring, http, vm und crypto, wenn Sie require () sie
Also ... process.nextTick()
, __dirname
im Browser ... sogar http
? Das macht für mich keinen Sinn ... wie __dirname
in einem Browser funktionieren soll?
process.nextTick()
führt später einfach einen Rückruf aus.
In einem Browser wird dies mit setTimeout(func, 0)
, setImmediate
oder requestAnimationFrame()
simuliert.
__dirnamne
und __filename
sind einfach Variablen, die zur Kompilierungszeit basierend auf dem ursprünglichen Pfad zur Datei browserfig injizieren.
Tags und Links javascript node.js npm browserify