[英]SyntaxError: Unexpected token else in nodejs
我收到 SyntaxError: Unexpected token else in nodejs app in line 92 col7
在 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);
});
我不知道我做錯了什么我在重定向 url 之前使用過everyauth \\它工作正常但是當我改變它時它無法正常工作
查看第 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
嘗試檢查是否遺漏了鍵入的語法,如果主文件沒有問題,請嘗試檢查另一個文件。
注意:如果您嘗試在 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 if 或 else 緊隨其后。
而且,如果您不想處理此類事情,只需將“ ; ”符號一起刪除,但是...如果您確實需要使用它,只需將其從 ifs 中刪除...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.