簡體   English   中英

browserify如何使Node.js模塊在瀏覽器中工作?

[英]How browserify makes Node.js modules to work in the browser?

我真的無法理解browserify背后的一些工作。 使用純JavaScript模塊時,即使有很多依賴關系,也似乎很容易將其轉換為瀏覽器代碼。

但是browserify功能更多:

許多不做IO的npm模塊在被瀏覽器化后才可以工作。 其他人則需要更多工作。

許多節點內置模塊已包裝成可在瀏覽器中使用,但僅當您顯式require()或使用其功能時才可以。

當您需要require()這些模塊中的任何一個時,您將獲得特定於瀏覽器的填充程序。

然后再次:

  • process.nextTick(),__ dirname和__filename節點機制起作用
  • 當需要require()時,獲取節點核心庫事件,流,路徑,URL,斷言,緩沖區,util,querystring,http,vm和crypto的瀏覽器版本

所以... process.nextTick() ,瀏覽器中的__dirname ...甚至http嗎? 這對我來說沒有意義... __dirname應該如何在瀏覽器中工作?

process.nextTick()稍后僅運行回調。
在瀏覽器中,這是使用setTimeout(func, 0)setImmediaterequestAnimationFrame()模擬的。

__dirnamne__filename只是變量,它們在編譯時基於文件的原始路徑在瀏覽器中注入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM