如何正确构造nodejs代码

时间:2011-05-20 08:13:19

标签: javascript model-view-controller node.js

我一直在玩node.js一段时间,我真的很感激它是多么棒。但是,我正在努力理解的一件事是我应该如何构建我的代码以使其可维护。我在互联网上看到的大多数教程都将所有JS都放在一个文件中,这几乎不是管理代码的好方法。我知道实际上没有像javascript中的“类”这样的东西,但是我有一种(标准的)方式来格式化我的代码以实现可维护性,就像我构建PHP项目一样,例如?

3 个答案:

答案 0 :(得分:12)

我补充一点,就可维护性而言,我相信使用闭包的深度嵌套回调的典型风格是Node程序可理解性的最大障碍,也是完全没必要的。

每个人:

a.doSomething(val, function(err,result){
  b.doSomethingElse(result,function(err,res){
    ...
  });
});

总有一个:

a.doSomething(val, onDoSomething);

function onDoSomething(err,res) {
  ...
}

我的经验法则是:对于超过三层嵌套的任何内容,都需要一个新的非闭包回调函数。

(Node.js确实需要一个样式手册。)

答案 1 :(得分:6)

Afaik您可以使用require包含您自己的js文件(包含导出的方法):

var req = require('./someJsFile');

someJsFile.js范围内,您可以导出如下方法:

exports.someMethod = function(){ /*...*/ };

在主文件中,您可以使用req.someMethod()

来解决此类问题

因此,您可以将代码拆分为不同的文件,这些文件来自某个中央js文件require

Here is an article解释node.js require

答案 2 :(得分:2)

了解了如何在node.js中工作(非常简单),如Kooilnc所建议

您可以查看Node.js可用模块的源代码:

https://github.com/joyent/node/wiki/modules

如果您计划使用Express(那里最强大的node.js框架之一)来开发您的第一个节点应用程序,您可以在这里查看其具体示例:

https://github.com/visionmedia/express/tree/master/examples (还有一个mvc样本)