如何在nodejs中使用客户端js代码

时间:2012-03-16 10:52:34

标签: javascript node.js

我为我的客户编写了一个js lib,可以直接向rmi'ish服务器发送命令。它工作得很好,但现在我必须编写一些服务器代码来连接到同一台服务器。这就是我想尝试Node.js的原因。但是我有一些困难在抓住这些概念。

我希望我的库可以在brouwser(chrome,firefox和ie)上运行,但也可以在Node.js上使用(具有小的动机)。这样我就不必维护两个几乎相同的代码。

在brouwser系统上,你只需要声明一个命名空间并填充其中的所有功能。在node.js中,我使用require来加载我的文件,并将它导出的变量填充到变量中。

例如'./m4a.structure.js'设置全局m4a.structure。并且'./m4a.cmd.js'使用该结构生成一组方法(用作将stuf发送到服务器的代理)。最后有一个'./jquery.m4a.initialize.js'将这些东西绑定到jquery以发送请求并处理现金和类似的东西。

前两个文件包含的信息仍在快速变化(每周一周),因此我希望它们在浏览器和Node.js deamon位上保持可用。最后一个文件当然不是那么大,而是特定于浏览器,我不介意(甚至期待)如果我不能移植它。

我希望很清楚,你可以帮助我一点。

1 个答案:

答案 0 :(得分:4)

构建可用作例如模块的模块的最简单方法。一个node.js模块,在浏览器中是:

var Foo = function() {
};

Foo.prototype.bar = function() {
};

if(typeof exports !== 'undefined') {
  // Node.js or similar
  exports.Foo = Foo;
} else {
  // Browser -- this is window
  this.Foo = Foo;
}