【发布时间】:2013-08-31 08:47:41
【问题描述】:
我真的无法理解browserify 背后的一些工作。使用纯 JavaScript 模块时,将其转换为浏览器代码似乎“容易”,即使有很多依赖项。
但browserify 做得更多:
许多不做 IO 的 npm 模块会在 浏览器化。其他人需要更多的工作。
许多节点内置模块已经被包装在浏览器中工作, 但仅当您明确
require()或使用它们的功能时。当你 require() 任何这些模块时,你会得到一个 特定于浏览器的 shim。
再说一遍:
- process.nextTick()、__dirname 和 __filename 节点主义工作
- 获取浏览器版本的节点核心库事件、流、路径、url、 断言、缓冲区、实用程序、查询字符串、http、vm 和加密时 要求()他们
所以...process.nextTick()、__dirname 在浏览器中...甚至是http?这对我来说没有意义...__dirname 应该如何在浏览器中工作?
【问题讨论】:
-
这个问题和this one非常相似。我提供了一个answer there,在这里也应该有帮助。
标签: javascript node.js npm browserify