Expressアプリケーションで私が理解できない奇妙な動作があります。私はいくつかのスキーマといくつかの機能を含むユーザーモデルファイル(user.js)を持っています。ルートファイル(users.js)からファイルを要求すると、私はスキーマにアクセスできますが、 'myFuncは関数ではありません。'を返すときに関数を呼び出すことはできません。これは、複数のスキーマがある場合にのみ発生し、1つのスキーマの場合はすべてが完璧です。あなたは私に理解してもらえますか?機能が定義されていません - module.exports - Express
この1つ返し:userModels.User.addUser関数ない
user.jsの
...
const UserModels = module.exports = {
'User': mongoose.model('User', UserSchema),
'Token': mongoose.model('Token', TokenSchema)
}
module.exports.addUser = function(newUser, callback){
console.log('test');
}
...
users.js
...
userModels.User.addUser(newUser, function(err, user){
if(err){
res.json({success: false, msg: "Failed to register."});
} else{
res.json({success: true, msg: 'User has been registered'});
}
});
...
この1つは通過:
...
const User = module.exports = mongoose.model('User', UserSchema);
module.exports.addUser = function(newUser, callback){
console.log('test');
}
...
User.addUser(newUser, function(err, user){
if(err){
res.json({success: false, msg: "Failed to register."});
} else{
res.json({success: true, msg: 'User has been registered'});
}
});
...
'userModels'がusers.jsで設定/定義されている方法は? user.jsの他の場所で 'module.exports'を再割り当てしますか? – mscdex
@mscdex私はそれをこのように定義します。const userModels = require( "../ models/user"); user.jsでは質問に貼り付けたのは私だけです。 –