【发布时间】:2013-05-06 15:10:09
【问题描述】:
我为特定的 JSON API 开发了一个 node NPM 包,它主要是一个包装器(使用 node 的 http、https 和 querystring 模块)。它在 Coffeescript 中构建,使 Node.js 服务器能够与此 API 进行通信。 Api 主要是 REST。
现在我希望这个库也可用于浏览器。这意味着对http 模块的调用需要替换为XMLHttpRequest(异步)。在我看来,我会为适配器制作一个包装器。对于 Node 环境,此适配器会将所有调用传递给 http 模块,对于浏览器环境,将传递给 XMLHttpRequest 对象。
有没有一种很好的方法来构建构建系统,以便 npm 包包含两个版本,并且我也可以在 Github 上发布普通的“浏览器版本”?节点包随后可以通过require('package-name') 获得,并且应该将一个 JS 文件(用于浏览器)放在一个目录中。
我查看了Component,它非常适合客户端包管理,但问题仍然是如何创建不同的构建环境。
【问题讨论】:
-
如果你正在研究组件,也可以看看bower.io
-
好的,谢谢。我也已经找到了鲍尔。看起来还不错。尽管如此,困难似乎还是要创造某种建筑环境。
标签: javascript node.js npm