如何正确构造nodejs代码

Joh*_*ink 11 javascript model-view-controller node.js

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

Rob*_*sch 12

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

对于每一个:

a.doSomething(val, function(err,result){
  b.doSomethingElse(result,function(err,res){
    ...
  });
});
Run Code Online (Sandbox Code Playgroud)

总有一个:

a.doSomething(val, onDoSomething);

function onDoSomething(err,res) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

  • 我在风格手册上完全排在第二位.我打算在邮件列表上推荐它! (2认同)

Koo*_*Inc 6

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

var req = require('./someJsFile');
Run Code Online (Sandbox Code Playgroud)

someJsFile.js你可以在其中导出这样的方法:

exports.someMethod = function(){ /*...*/ };
Run Code Online (Sandbox Code Playgroud)

在您的主文件中,您可以使用以下方法来解决此问题 req.someMethod()

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

这是一篇解释node.js 的文章require