一尘不染

如何构建express.js应用程序?

node.js

是否有app.jsExpress.js 应用程序中分解和模块化文件的通用约定?还是将所有内容保存在一个文件中很普遍?


阅读 222

收藏
2020-07-07

共1个答案

一尘不染

我的分解如下:

~/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

(假设我们正在routes文件夹中工作,需要先上一层然后再下一层模型)


编辑4

快递维基 具有建立在它之上的框架的列表。

其中,我认为Twitter的 斗牛士
的结构非常好。实际上,我们使用了非常类似的方法来加载应用程序的各个部分。

derby.js
看起来也非常有趣。它类似于流星,没有所有的炒作,实际上在应归功的地方给予了荣誉(特别是节点和特快)。


编辑3

如果您是CoffeeScript的粉丝(我不是),并且又希望使用Rails的L&F,那么还有
Tower.js


编辑2

如果您熟悉Rails,并且不介意某些概念的泛滥,那么您可以使用 Locomotive
。它是基于Express构建的轻量级框架。它具有与RoR非常相似的结构,并继承了一些更基本的概念(例如路由)。

即使您不打算使用它,也值得一试。


编辑1

nodejs-express-mongoose-demo 与我的结构非常相似。看看这个。

2020-07-07