browserify是如何让Node.js模块在浏览器中工作的
How browserify makes Node.js modules to work in the browser?
我真的不能理解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)
、setImmediate
或requestAnimationFrame()
进行模拟。
__dirnamne
和__filename
只是在编译时基于文件的原始路径注入的变量。
相关文章:
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- 我如何使HTML5<输入类型=月份>以在所有浏览器上工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 是否可以在浏览器中创建类似谷歌浏览器工作区的东西
- JAX-RS Web Service 通过浏览器工作,但不通过 XMLHTTPRequest
- 如何使旋转图像与javascript跨浏览器工作
- jQuery:如何使css('line-height')跨浏览器工作
- 填写用户名和密码后,当我按下一个回车键无法登录ie,但谷歌浏览器工作正常.如何来
- 未捕获的语法错误与jquery插件和chrome,在其他浏览器工作正常
- Javascript函数不能跨浏览器工作
- 如何将all()函数转换为跨浏览器工作
- indexOf在IE8抛出错误,但在所有其他浏览器工作
- 缓存破坏不与android浏览器工作
- JS播放器——错误:我的返回错误不与IE10工作,但与所有其他浏览器工作