0

我习惯于跨平台开发。在 C/C++ 方面它很简单,但是在使用 javascript 时我遇到了一个问题。我希望能够在客户端重用我的网络服务中的代码。目前 node.js 要求我以最不愉快的方式编写我的程序,但我可以处理它:

//MyClass.js
function MyClass()
{
    this.test = function(){}
}

module.exports.MyClass = MyClass;
//server.js

var m = new require('MyClass.js').MyClass();
m.test();
//client.js
$.getScript("MyClass.js", function(){
    var m = new MyClass();
    m.test();
});

到那时一切都很好,但是当我需要从MyClass.js. 我怎样才能让它在所有平台上工作?有没有办法在不处理文件的情况下实现可重用性?

4

1 回答 1

2

Node 要求你什么都不做。如果您不喜欢 Node 模块系统的工作方式,请不要使用它。

//MyClass.js
MyClass = function ()
{
    this.test = function(){}
}

//server.js
require('./MyClass.js');
var m = new MyClass();
m.test();

现在您的应用程序与您在客户端进行的操作兼容。请记住,您现在正在全局命名空间中创建类,这是使用 Node 模块布局的原因之一。

我建议还研究一些require在客户端上使用 Node 样式的方法。有许多可用的脚本,例如RequireJSBrowserify

于 2012-12-31T02:05:55.683 回答