node.js / django迷你应用程序

时间:2012-10-23 15:43:34

标签: django node.js express

我对peepcode node.js tutorial中的迷你app概念印象深刻。而不是拥有全局文件夹:

/site/models
/site/views

每个应用领域创建另一级别的分离:

/site/login/models
/site/catalog/models

AFAIU应用领域必须彼此无关。这会产生一些问题,如何放置共享数据库模型,如果太多共享模型暗示错误的迷你应用程序分离。我正试图在这个迷你app概念上找到更多资料。网络广播提到它在django中很常见。任何人都有节点(首选)或django的经验或材料吗?

1 个答案:

答案 0 :(得分:0)

我还在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

这两种技术都是一样的。

接下来是当我的应用程序不需要专用的视图目录时我使用的方式。

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;

在选择第一种或第二种技术之前,我大多只是问自己'我是否需要这个应用程序的专用视图目录?'。如果答案是'是',我会选择第二个。我见过其他人使用第二种技术,因为真正的子应用程序可以自己运行,所以你可以实际做隔离的http请求进行测试。