我在第92行col7
中的nodejs app中收到了SyntaxError:Unexpected token else app.js中的
var express = require('express'), everyauth = require('everyauth');
everyauth.debug = true;
var usersByLogin = {
'krishna': {
login: 'krishna',
email: 'krishna@blogab.com',
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);
});
我不知道我做错了什么我使用everyauth之前重定向url是\它工作得很好但是当我改变它不能正常工作
答案 0 :(得分:1)
查看第94行......这一位
app.get('/admin/newpost', function (req, res) {
res.render('bcore/newpost', {
title: 'Blogab-newpost',
users: ';
JSON.stringify(usersByLogin, null, 2)
});
});
这一点
users: ';
应该是
user : ''
它可能认为它是内联if / else
答案 1 :(得分:0)
尝试检查是否遗漏了键入的语法,如果主文件没有问题,请尝试检查另一个文件。
注意:如果在ifs之后尝试使用else,请不要忘记将“ ; ”从ifs移到最后的else。
if (...) {...};
// ^ move this
if (...) {...}
else if (...) {...}
else {...};
// ^to here, this happens to the best of us that uses ;
如果您不移动“ ; ”,则与不使用ifs键入else一样,并且因为没有ifs也不希望紧随其后的else。
,如果您不想处理此类问题,只需将“ ; ”符号全部删除,但是...如果您确实需要使用它,则将其从如果......