0
因此,試圖創建一個簡單的模塊來整理網頁的帳戶,並認爲它很簡單。用一些函數創建一個文件,將它們全部包裝在一個模塊中。導出並且啃你的叔叔。那麼,鮑勃不是我的叔叔。爲平均應用程序創建導出模塊
所以創建以下文件:
module.exports = function(lameAccount) {
lameAccount.initAccount(function (myId, myName, done) {
console.log("Will create" + myId);
console.log("Name is " + myName);
done(null,false,"This is just a hello");
})
}
而且在需要它(API路由器)
var lameAccountant = require('../modules/lameaccount.js')
然後是部分調用我們的函數
lameAccount.initAccount(blockRecord._id, blockRecord.betName)
然而,當我嘗試使用這個功能時,我得到了
/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:108
if (this.ended && !this.hasRejectListeners()) throw reason;
^
TypeError: undefined is not a function
at EventEmitter.<anonymous> (/Users/bengtbjorkberg/WebstormProjects/Challange/routes/api.js:119:22)
at EventEmitter.<anonymous> (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:175:45)
at EventEmitter.emit (events.js:110:17)
at Promise.safeEmit (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:81:21)
at Promise.fulfill (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:94:24)
at Promise.resolve (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/lib/promise.js:113:23)
at model.<anonymous> (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/lib/document.js:1578:39)
at next_ (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:89:34)
at EventEmitter.fnWrapper (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/hooks-fixed/hooks.js:186:8)
at EventEmitter.<anonymous> (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:175:45)
at EventEmitter.emit (events.js:110:17)
at Promise.safeEmit (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:81:21)
at Promise.fulfill (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:94:24)
at p1.then.then.self.isNew (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/lib/model.js:260:27)
at newTickHandler (/Users/bengtbjorkberg/WebstormProjects/Challange/node_modules/mongoose/node_modules/mpromise/lib/promise.js:229:18)
at process._tickCallback (node.js:355:11)
==============編輯在關於第一個答案============
因此,如果這是一個匿名函數(某些它我,爲什麼這項工作)
// expose this function to our app using module.exports
module.exports = function(passport) {
// =========================================================================
// passport session setup ==================================================
// =========================================================================
// required for persistent login sessions
// passport needs ability to serialize and unserialize users out of session
// used to serialize the user for the session
passport.serializeUser(function(user, done) {
done(null, user.id);
});
// used to deserialize the user
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
或確實
module.exports = function(app, passport) {
var urlencodedParser = bodyParser.urlencoded({ extended: false })
// parse application/json
app.use(bodyParser.json())
app.get('/api/userList', function(req, res){
User.find({}, {'_id':1, 'userName':1},function(err, users) {
if (err)
res.send(err)
res.json(users);
})
});
是什麼app.use呢,讓你在一個匿名函數滑動的API本身。
將在downvoter護理評論? – agconti
我猜你打算投我的問題而不是你的問題。除此之外,您的答案是有道理的,但爲什麼護照模塊可以工作? (作爲編輯添加它) – vrghost
試過了,它沒有工作,它仍然表明undefined不是使用exports.initAccount函數的函數。 – vrghost