Wie browserify macht Node.js Module im Browser arbeiten?

8

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?

    
gremo 24.05.2013, 16:31
quelle

1 Antwort

5

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.

    
SLaks 24.05.2013, 16:33
quelle

Tags und Links