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

我用出口商品退回相关商品.例如,在我做的模型中:

module.exports = mongoose.model('PhoneNumber', PhoneNumberSchema);

然后,如果我需要创建一个电话号码,它很简单:

var PhoneNumber = require('../models/phoneNumber');
var phoneNumber = new PhoneNumber();

如果我需要使用模式,那么PhoneNumber.schema

(which assumes that we are working from the routes folder and need to go 1 level up and then down to models)


编辑4

100有一个构建在上面的框架列表.

其中,我认为Twitter的100 struct 非常好.我们实际上使用了一种非常类似的方法来加载应用程序的部分内容.

100看起来也非常有趣.它类似于meteor,没有所有的炒作,实际上在应该得到赞扬的地方给予赞扬(特别是node和express).


编辑3

如果你是CoffeeScript的粉丝(我不是),并且Reeeaaaaaaaally想要L&;如果是铁轨,也有100根.


编辑2

如果您熟悉Rails,并且不介意一些概念的泄漏,那么有100个.它是一个基于Express的轻量级框架.它的 struct 与RoR非常相似,并继承了一些更基本的概念(如路由).

即使你不打算使用它,也值得一看.


编辑1

100和我的 struct 非常相似.过来看.

Node.js相关问答推荐

如何更改node-soap时间戳持续时间和前置码?

如何解决TypeError:requ.isAuthenticated不是函数错误?

当FastifyJS向客户端发送响应时,apache 不会将其发送给他

自动将Selify打开的Chrome窗口移动到Mac OS中的第三个显示器

如何在Firebase Cloud Function v2计划函数中设置代码中的时区?

为什么我收到此错误:MissingSchemaError:架构尚未为模型&业务&注册

Next.js 路由不起作用 - 页面未正确加载

TS[2339]:类型 '() => Promise<(Document & Omit) | 上不存在属性空>'

mongoose 7.0.3 使用运算符 $and 严格搜索日期

如何获取需要加载cheerio的网站部分数据?

Angular Build 生产返回致命的 javascript 无效大小错误

等待不在 Express.js 中处理 res.app.render

如何使用填充在mongoose 上保存新数据

使用 firebase 函数 api 运行套接字(相同的端口创建问题)

使用中的端口代码:'EADDRINUSE',即使在 kill 命令之后

如何在 node.js 环境中从 WebAssembly (Rust) 调用异步 JavaScript 导入函数?

在 Node.js 中的两个不同进程之间进行通信

向 Stripe 提交付款请求时出现没有此类令牌错误

异步构造函数

nodeJS - 如何使用 express 创建和读取会话