To nie jest konkretne pytanie dotyczące aplikacji/kodu, chodzi tylko o powszechną architekturę aplikacji.Architektura aplikacji oparta na mongoose
Próbuję zrozumieć właściwy sposób na uporządkowanie mojej aplikacji mangusty. Ponieważ jestem nowy Mangusta, to w jaki sposób mogę to zrobić teraz:
rdzeń/settings.js
var mongoose = require('mongoose');
exports.mongoose = mongoose;
mongoose.connect('mongodb://localhost/blog');
exports.db = mongoose.connection;
rdzeń/models.js
settings = require("./settings");
// post schema
var postSchema = settings.mongoose.Schema({
header: String,
author: String,
text: String
})
//compiling our schema into a Model
exports.post = settings.mongoose.model('post', postSchema)
rdzeń/db-layer.js
settings = require("./core/settings");
models = require("./core/models");
exports.function = createAndWriteNewPost(function(callback) {
settings.db.on('error', console.error.bind(console, 'connection error:'));
settings.db.once('open', function callback() {
new models.post({
header: 'header',
author: "author",
text: "Hello"
}).save(function(err, post) {
callback('ok');
});
});
});
trasy/post.js
db = reqiure("../core/db.js")
exports.get = function(req, res) {
db.createAndWriteNewPost(function(status){
res.render('add_material', {
//blah blah blah
});
});
};
app.js
var post = require ('routes/post.js')
...
app.get('/post', post.get);
Tak, ten kod został bardzo uproszczony (jeszcze nie testowane), żeby pokazać moje aktualne architektury myśli. To nie jest konkretna aplikacja, po prostu coś w rodzaju tworzenia abstrakcyjnego posta na blogu. Tak to działa:
app.js --> routes/post.js <--> core/db-layer.js
|
v
core/models.js <--> core/settings.js
Dla mnie wydaje się zbyt niepotrzebny. Czy możesz zaproponować bardziej optymalną strukturę aplikacji? Dzięki.
Spójrz na jedną z moich odpowiedzi: http://stackoverflow.com/questions/14958504/rich-app-development-with-node-js/14958848#14958848 –