我对peepcode node.js tutorial中的迷你app概念印象深刻。而不是拥有全局文件夹:
/site/models
/site/views
每个应用领域创建另一级别的分离:
/site/login/models
/site/catalog/models
AFAIU应用领域必须彼此无关。这会产生一些问题,如何放置共享数据库模型,如果太多共享模型暗示错误的迷你应用程序分离。我正试图在这个迷你app概念上找到更多资料。网络广播提到它在django中很常见。任何人都有节点(首选)或django的经验或材料吗?
答案 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请求进行测试。