繁体   English   中英

语法错误:Node.js 中 Module._compile 的输入意外结束

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

我用 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');

错误:

语法错误:Node.js 中 Module._compile 的输入意外结束

在对象。 (/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);
            }
        })
    })
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM