Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
express应用程序中的Sequelize模型类引用错误_Express_Sequelize.js - Fatal编程技术网

express应用程序中的Sequelize模型类引用错误

express应用程序中的Sequelize模型类引用错误,express,sequelize.js,Express,Sequelize.js,sq.js: app.js: var Sequelize = require('sequelize'); var sequelize = new Sequelize('postgres://chandan:duvarko315@localhost:5432/diary'); var User = sequelize.define('user', { username: { type: Sequelize.STRING, field: 'username' // Will r

sq.js:

app.js:

var Sequelize = require('sequelize');
var sequelize = new Sequelize('postgres://chandan:duvarko315@localhost:5432/diary');

var User = sequelize.define('user', {
  username: {
    type: Sequelize.STRING,
    field: 'username' // Will result in an attribute that is firstName when user facing but first_name in the database
  },
  password: {
    type: Sequelize.STRING
  }
},{
timestamps: false,
});

User.sync({force: true}).then(function () {
  // Table created  
});

module.exports = User;

我得到了错误:ReferenceError:User未定义,因为您在app.js中将用户模型声明为
seq
。将您的声明更改为:

var seq = require('./routes/sq');

passport.use(new passportLocal.Strategy(function(username,password, done){
  User.findOne({username: username}, function (err, user) {
      if (err) { return done(err); }
      if (!user) {
        return done(null, false, { message: 'Incorrect username.' });
      }
      if (!user.validPassword(password)) {
        return done(null, false, { message: 'Incorrect password.' });
      }
      return done(null,{ id:username, name:username});
    });
}));

变量
User
仅存在于sq.js

Its中,因为您已在app.js中将用户模型声明为
seq
。将您的声明更改为:

var seq = require('./routes/sq');

passport.use(new passportLocal.Strategy(function(username,password, done){
  User.findOne({username: username}, function (err, user) {
      if (err) { return done(err); }
      if (!user) {
        return done(null, false, { message: 'Incorrect username.' });
      }
      if (!user.validPassword(password)) {
        return done(null, false, { message: 'Incorrect password.' });
      }
      return done(null,{ id:username, name:username});
    });
}));

变量
User
仅存在于sq.js

Yep中,该变量起作用了……但现在查询没有执行……它在控制台中显示为……。执行(默认):从“用户”中选择“id”、“用户名”、“密码”作为“用户”限制1;是的,它工作了……但是现在查询没有执行……它在控制台中显示为……正在执行(默认):从“用户”中选择“id”、“用户名”、“密码”作为“用户”限制1;