[英]node.js / django mini apps
peepcode node.js教程中的mini-app概念给我留下了深刻的印象。 而不是拥有全局文件夹:
/site/models
/site/views
您可以为每个应用程序区域创建另一个级别的分隔:
/site/login/models
/site/catalog/models
AFAIU的应用程序区域必须彼此一无所知。 这就产生了一些问题,如共享数据库模型的放置位置,以及共享模型过多是否暗示错误的微型应用程序分离。 我正在尝试找到有关此微型应用程序概念的更多材料。 网络广播提到这在django中很常见。 是否有人在node(首选)或django中有相关经验或材料?
我还基于Django构建了express.js结构。 有两种不同的技术,它们都有局限性,并且与Django应用程序并不完全相同。
我在我的app.js文件中使用了这个api。
var app = express();
require('./some-app1').init(app);
require('./some-app2').init(app);
我的子应用程序目录:
some-app
- index.js
- middleware.js
这两种技术都是一样的。
接下来是我的应用程序不需要专用的Views目录时的使用方式。
index.js
var middleware = require('./middleware');
var subapp = function (app) {
app.get('/stuff', middleware.handle_stuff);
}
module.exports = subapp;
这就是我开始做的事情的方法,这些事情确实很基础,但是效果很好。
对于第二种技术,您需要知道Express实际上有一个称为子应用程序的东西。 这是一个真正的Express对象,您可以将其安装在基本应用程序的顶部。
index.js
var app = express();
app.get('/stuff', middleware.handle_stuff);
var subapp = function (app) {
app.use(app);
}
module.exports = subapp;
在选择第一种或第二种技术之前,我通常只是问自己:“我需要为此应用提供专门的views目录吗?”。 如果答案是“是”,我将第二次发言。 我见过其他人使用第二种技术,因为真正的子应用程序可以独立运行,因此您实际上可以执行隔离的http请求进行测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.