fs.mkdir
これは、私が作成した関数によって呼び出すapp.postのコードですnewdir
。
app.post('/register', express.bodyParser(), function (req, res, next){
var newu = new UserModel({});
newu.user = req.body.nuser;
newu.pass = req.body.npass;
newu.mail = req.body.nmail;
UserModel.find({ user: req.body.user }, function (err, user){
if (user.lenght == 1) {
res.redirect('/');
}
else {
newdir(req.body.nuser);
next()
if (err) throw err;
newu.save(function (err, newu){
req.session.user = newu.user;
res.redirect('/home')
});
}
});
});
これはのコードですnewdir
:
function newdir (username){
var pathu = __dirname + '/users/' + username;
fs.mkdir(pathu, function (err){
if (err) throw err;
});
}
これは次のコードです/home
:
app.get('/home', function (req, res){
console.log(req.session.user);
res.send('Welcome ' + req.session.user + '!');
});
必要なすべてのapp.post/getにを割り当てることができreq.session.user
ます。たとえば、これでユーザーを確認するときに、req.session.userを正しく割り当てることができます。
app.post('/verify', express.bodyParser(), function (req, res){
UserModel.find({ user: req.body.user }, function (err, user){
if (user[0] == undefined) {
res.redirect('/');
}
else{
if (user[0].pass == req.body.pass) {
req.session.user = user[0].user;
res.redirect('/home');
}
else{
res.redirect('/');
}
}
if (err) throw err;
});
});
しかしreq.session.user
、同じapp.postでfs.mkdirと呼ばれる場所に割り当てようとすると、常にreq.session.user
未定義になります。たぶん、fs.mkdirを呼び出すモジュールを作成する必要がありますか?どうしたらいいのかわからない!