繁体   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