browserify是如何让Node.js模块在浏览器中工作的

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

本文关键字:浏览器 工作 模块 js Node browserify      更新时间:2023-09-26

我真的不能理解browserify背后的一些工作。当使用纯JavaScript模块时,将其转换为浏览器代码似乎很"容易",即使有许多依赖项。

browserify做得更多:

许多不做IO的npm模块在被调用后可以正常工作browserified。

许多node内置模块都被封装在浏览器中,但只有当你明确地require()或使用它们的功能。

当您require()这些模块中的任何一个时,您将得到a特定垫片。

:

  • process.nextTick(), __dirname和__filename节点主义工作
  • 获取节点核心库事件、流、路径、url的浏览器版本。Assert, buffer, util, querystring, http, vm和crypto他们需要()

所以…process.nextTick(), __dirname在浏览器内…甚至http ?这对我来说没有意义……__dirname应该如何在浏览器内工作?

process.nextTick()只是稍后运行回调。
在浏览器中,使用setTimeout(func, 0)setImmediaterequestAnimationFrame()进行模拟。

__dirnamne__filename只是在编译时基于文件的原始路径注入的变量。

相关文章: