我对 node.js 的模块加载器以及新的和谐模块规范非常感兴趣。
总的来说,我喜欢这个规范,但有一个问题我不确定它是如何解决的。
如果想要构建一个跨平台的 JavaScript 库,有时需要在不同平台上使用不同的库来完成相同的工作。例如,node.js 中的 Buffer 模块在浏览器中不存在,因此必须编写一个抽象模块,根据平台加载不同的代码。
既然 Harmony 在执行任何代码之前解决了依赖关系,它怎么知道它只需要为一个平台加载代码,而不是为所有平台加载代码?
在浏览器中,我不想加载只在node.js中运行的代码,那么这个问题是怎么解决的呢?