制作浏览器和节点兼容的Javascript库

时间:2012-02-12 05:20:43

标签: javascript node.js

我正在尝试创建一个javascript库,我更喜欢与浏览器和节点兼容。但是,节点API中提供的某些功能在浏览器中不提供(例如压缩)。我知道可以在javascript中编写这个功能,因此它可以交叉兼容,但节点本机压缩可能会表现得更好,因为它的级别要低得多。

如何在浏览器兼容的代码和使用节点API的代码之间进行拆分?

我看到它的方式,我可以做以下其中一种:

  • 制作2个单独的脚本,一个用于节点,一个用于浏览器
  • 让我的代码弄清楚它所处的环境并采取相应的行动
  • 使我的所有代码都相同,但在节点
  • 中失去了一些性能改进

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:4)

我知道这是一个老问题,但今天可以轻松地使用Browserify。 Browserify允许您使用require()语法编写nodejs模块,并将它们轻松转换为浏览器抱怨代码!

他们甚至移植了你提到的zlib来使用它,所以依赖是可以的。

我希望这有助于未来的读者,浏览器帮助我:)