Express と Mongoose を使用したノード アプリがあります。デモアプリでこの行を見たことがありますが、それがどのように機能しているのかわかりません。
app.js
require('./db.js');
require('./routes.js')(app);
db.js
exports = mongoose = require('mongoose');
mongoose.connect('localhost:27017/test');
exports = Schema = mongoose.Schema;
require('./models.js')
models.js
var ArticleSchema = new Schema({
title : {type : String, default : '', trim : true}
, body : {type : String, default : '', trim : true}
, user : {type : Schema.ObjectId, ref : 'User'}
, created_at : {type : Date, default : Date.now}
})
mongoose.model('Article', ArticleSchema);
ルート.js
var Article = mongoose.model('Article');
module.exports = function(app){
app.get('/new', function(req, res){
var article = new Article({});
res.render('new', article);
});
};
変数 mongoose と schema は、models.js や routes.js などの他のモジュールでどのように利用できますか?
このコードexports = mongoose = require('mongoose');
は、デモで見た行を、私がよく知っているこれらの行のいずれかに変更しても、引き続き機能します。
module.exports = mongoose = require('mongoose');
exports.anything = mongoose = require('mongoose');
3 つの割り当ての中間にある変数名は、他のファイルで使用できるものです。
誰かがここで何が起こっているのか、どのように機能しているのか説明できますか?
ありがとう!