我应该在node.js和Express中链接方法和函数吗?

就像其他人一样,看起来,我已经开始使用node.js和Express框架了。

虽然我对客户端Javascript有很大的信心,但是当然依赖于JQuery,我用Node.js玩弄了很多,这让我对Javascript的实际工作缺乏正确的理解。 因此,这个问题。

我看过的每一个教程,包括Holowaychuk先生自己的教程,都是这样做的:

var express = require('express'), app = express(); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use('/images', express.static(__dirname + '/public/images')); app.get('/', <do something>); app.get('/:something', <do something else>) app.listen(3000); 

如果我正在为客户端JavaScript写这样的东西,我会试图引用一次app对象,并链接任何函数或方法,从而产生这样的:

 var express = require('express'), app = express(); app.use(express.methodOverride()) .use(express.cookieParser()) .use('/images', express.static(__dirname + '/public/images')) .get('/', <do something>) .get('/:something', <do something else>) .listen(3000); 

所以我的问题是:这两个function不同? 我在冒着不同寻常的神灵冒险吗?

任何帮助和链接的教程称为“只是因为你玩过JQuery并不意味着你懂Javascript的任何东西”将受到感激。

stream利只是构buildAPI的一种方法。 实质上你所做的就是返callback用该方法的variables:

 app.use = function(){ // do stuff here return this; }; 

然后你可以做到以下几点:

 app.use().use().use(); 

这显然只有当函数通常不会返回任何东西时才起作用。

所以这取决于你在做什么。 如果你真的想用stream利的范式来构build你的API,那么请继续,但是要确保你的API是一致的。

如果你不想,也没关系,你不会破坏任何东西,或者使你的代码不易维护,这只是一种风格。 (在jQuery中效果特别好,因为jQuery对象上几乎没有任何方法需要返回数据)