是否有app.js在 Express.js 应用程序中分解和模块化文件的通用约定?还是将所有内容保存在一个文件中很普遍?
app.js
我的分解如下:
~/app |~controllers | |-monkey.js | |-zoo.js |~models | |-monkey.js | |-zoo.js |~views | |~zoos | |-new.jade | |-_form.jade |~test | |~controllers | |-zoo.js | |~models | |-zoo.js |-index.js
我使用Exports返回相关内容。例如,在模型中,我这样做:
module.exports = mongoose.model('PhoneNumber', PhoneNumberSchema);
然后,如果我需要创建一个电话号码,则非常简单:
var PhoneNumber = require('../models/phoneNumber'); var phoneNumber = new PhoneNumber();
如果我需要使用架构,那么 PhoneNumber.schema
PhoneNumber.schema
(假设我们正在routes文件夹中工作,需要先上一层然后再下一层模型)
该 快递维基 具有建立在它之上的框架的列表。
其中,我认为Twitter的 斗牛士 的结构非常好。实际上,我们使用了非常类似的方法来加载应用程序的各个部分。
derby.js 看起来也非常有趣。它类似于流星,没有所有的炒作,实际上在应归功的地方给予了荣誉(特别是节点和特快)。
如果您是CoffeeScript的粉丝(我不是),并且又希望使用Rails的L&F,那么还有 Tower.js 。
如果您熟悉Rails,并且不介意某些概念的泛滥,那么您可以使用 Locomotive 。它是基于Express构建的轻量级框架。它具有与RoR非常相似的结构,并继承了一些更基本的概念(例如路由)。
即使您不打算使用它,也值得一试。
nodejs-express-mongoose-demo 与我的结构非常相似。看看这个。