2012-05-28 60 views
-2
的NodeJS

我得到的SyntaxError意外標記其他:意外的標記在其他應用程序的NodeJS在管線92 COL7語法錯誤:在

在app.js

var express = require('express'), everyauth = require('everyauth'); 

everyauth.debug = true; 

var usersByLogin = { 
    'krishna': { 
    login: 'krishna', 
    email: '[email protected]', 
    password: 'krishna' 
    } 
}; 

everyauth 
    .password 
    //.loginWith('email') 
    .loginWith('login') 
    .getLoginPath('/login') 
    .postLoginPath('/login') 
    .loginView('bcore/login.jade') 
    .loginLocals(function (req, res, done) { 
    setTimeout(function() { 
     done(null, { 
     title: 'blogab - login' 
     }); 
    }, 200); 
    }) 
    .authenticate(function (login, password) { 
    var errors = []; 
    if (!login) errors.push('Missing login'); 
    if (!password) errors.push('Missing password'); 
    if (errors.length) return errors; 
    var user = usersByLogin[login]; 
    if (!user) return ['Login failed']; 
    if (user.password !== password) return ['Login failed']; 
    return user; 
    }) 
    .getRegisterPath('/register') 
    .postRegisterPath('/register') 
    .registerView('bcore/register.jade') 
    .registerLocals(function (req, res, done) { 
    setTimeout(function() { 
     done(null, { 
     title: ' Register' 
     }); 
    }, 200); 
    }) 
    .extractExtraRegistrationParams(function (req) { 
    return { 
     email: req.body.email 
    }; 
    }) 
    .validateRegistration(function (newUserAttrs, errors) { 
    var login = newUserAttrs.login; 
    if (usersByLogin[login]) errors.push('Login already taken'); 
    return errors; 
    }) 
    .registerUser(function (newUserAttrs) { 
    var login = newUserAttrs[this.loginKey()]; 
    return usersByLogin[login] = newUserAttrs; 
    }) 

    .loginSuccessRedirect('/admin/') 
    .registerSuccessRedirect('/admin/'); 

var app = express.createServer(
    express.bodyParser(), 
    express.static(__dirname + "/public"), 
    express.cookieParser(), 
    express.session({ secret: 'htuayreve'}), 
    everyauth.middleware() 
); 

app.configure(function() { 
    app.set('view engine', 'jade'); 
}); 

app.get('/', function (req, res) { 
    res.render('templates/default/index', { 
    title: 'blogab', 
    users: JSON.stringify(usersByLogin, null, 2) 
    });       
}); 

app.get('/login', function (req, res) { 
    res.render('bcore/login', { 
    title: 'login', 
    users: JSON.stringify(usersByLogin, null, 2) 
    }); 
}); 

app.get('/admin/newpost', function (req, res) { 
    res.render('bcore/newpost', { 
    title: 'Blogab-newpost', 
    users: '; 
    JSON.stringify(usersByLogin, null, 2) 
    }); 
}); 

app.get('/admin/', function (req, res) { 
    res.render('bcore/admin', { 
    title: 'core', 
    users: JSON.stringify(usersByLogin, null, 2) 
    }); 
}); 

everyauth.helpExpress(app); 

app.listen(1224, function(){ 
    console.log("blogab is running on port %d in %s mode", app.address().port, app.settings.env); 
}); 

我不知道我做錯了我當重定向URL被\這是可以正常使用,但是當我改變了它並非是直線94正常工作

+3

您粘貼沒有關鍵字'else'曾經在它的整個代碼。你確定你粘貼了正確的代碼嗎? –

+0

請理智地縮進你的代碼,這使得它更容易調試。我不知道它是否嚴格是一個語法錯誤,但'返回usersByLogin [login] = newUserAttrs;'當然*看起來*可怕的,可能無法正常工作 - 它應該被分成兩個語句。你的第三個'app.get()'中也有一個「';'',這是一個很大的語法錯誤。 – DaveRandom

+0

我粘貼了app.js中的所有代碼 –

回答

1

檢查......這有點

app.get('/admin/newpost', function (req, res) { 
    res.render('bcore/newpost', { 
    title: 'Blogab-newpost', 
    users: '; 
    JSON.stringify(usersByLogin, null, 2) 
    }); 
}); 
之前使用everyauth

該位

users: '; 

應該

user : '' 

它可能認爲其內嵌的if/else