gpt4 book ai didi

javascript - Node.js 中的语法错误 : Unexpected end of input at Module. _compile

转载 作者:太空宇宙 更新时间:2023-11-03 23:50:29 25 4
gpt4 key购买 nike

我用node.js编写了node.js脚本。这是代码。


var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var passport = require('passport'); //passport module add
var localStrategy = require('passport-local').Strategy;
var cookieSession=require('cookie-session');

var index = require('./index.js');
var app=express();

app.use(cookieParser());

app.use(cookieSession({
keys : ['login'],
cookie : {maxAge:1000*60*60}
}));

app.use(passport.initialize());
app.use(passport.session());

app.use('/',index);

app.listen(8000,function(){
console.log('server started');
});

module.exports=app;

但是由于第 8 行错误,我无法执行代码。

var index = require('./index.js');

错误:

SyntaxError: Unexpected end of input at Module._compile in Node.js

at Object. (/home/app.js:8:13)

我在同一目录中有“index.js”文件,并且我尝试加载不带扩展名的同一文件。但我无法执行它。

请告诉我我应该做什么。

+)这是我的 index.js 文件。

var express = require('express');
var router = express.Router();
var crypto=require('crypto');
var passport=require('passport');
var localStrategy=require('passport-local').Strategy;

var mysql=require('mysql');

var config={
host : 'my address',
port : 3306,
user : '*****',
password : '********',
ssl : true
};

const conn = new mysql.createConnection(config);

conn.connect(function(err){
if(err){
console.log('Cannot Connect to database : ');
throw err;
}
else{
console.log('Success to connect');
}
});

var isAuthenticated =function(req,res,next){
if(req.isAuthenticated()){
return next();
}
res.redirect('/');
}

passport.use(new localStrategy({
usernameField : 'userID',
passwordField : 'password',
passReqToCallback : true
},function(req,username,password,done){
conn.query('USE Database');
conn.query('select password from UserTable where userid=?',[username],function(err,result){
if(err){ done(false,null); }
if(result.length==0){
console.log('cannot find user');
done(false, null);
}
else{
var encryptHash=crypto.createHash('sha512').update(password);
if(encryptHash===password){
console.log('login succeed');
}
return done(null,null);
}
});

router.get('/logout',function(req,res){
req.logout();
res.redirect('/');
});

router.get('/main',function(req,res,next){
res.render('index');
});

router.post('/',passport.authenticate('local'),{failureRedirect:'/',successRedirect:'/main'});

module.exports=router;

最佳答案

我收到错误。您的中间件中有语法错误。

试试这个:

passport.use(new localStrategy({
usernameField : 'userID',
passwordField : 'password',
passReqToCallback : true
},function(req,username,password,done){
conn.query('USE Database');
conn.query('select password from UserTable where userid=?',[username],function(err,result){
if(err){ done(false,null); }
if(result.length==0){
console.log('cannot find user');
done(false, null);
}
else{
var encryptHash=crypto.createHash('sha512').update(password);
if(encryptHash===password){
console.log('login succeed');
}
return done(null,null);
}
})
})
);

关于javascript - Node.js 中的语法错误 : Unexpected end of input at Module. _compile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59649773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com