2014-05-22 81 views
1

我刚刚通过npm安装Sequelize和MySQL模块,并且遇到错误。Sequelize错误 - lodash没有方法“模板”

我可以成功查询我的模型,但试图创建一个新的模型实例会导致query-generator.js文件中出现错误。

我的代码:

var Sequelize = require('sequelize') 
    , sequelize = new Sequelize('databasename', 'username', 'password'); 

var User = sequelize.define('users', { 
    email: Sequelize.STRING, 
    fname: Sequelize.STRING, 
    lname: Sequelize.STRING, 
}); 

// WORKS 
User.find(1) 
    .success(function(user) { 
    console.log('User found'); 
    }). 
    error(function(err) { 
    console.log('Error locating user', err); 
    }); 

// FAILS 
User.create({ 
    email : '[email protected]', 
    fname : 'John', 
    lname : 'Doe' 
}) 
.success(function(user) { 
    // Do something 
}) 
.error(function(err) { 
    // Do something 
}); 

而这里的误差

~/Project/node_modules/sequelize/lib/dialects/abstract/query-generator.js:156 
     return Utils._.template(query)(replacements) 
       ^
TypeError: Object function lodash(value) { 
     // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor 
     return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__')) 
    ? value 
    : new lodashWrapper(value); 
} has no method 'template' 
at Object.module.exports.QueryGenerator.insertQuery (~/Project/node_modules/sequelize/lib/dialects/abstract/query-generator.js:156:22) 
+0

http://lodash.com/docs#template? – sdepold

+0

我得到的lodash有一个模板方法。但问题是,为什么Sequelize包会给我这个错误?我找不到任何其他记录在案的案例。 – Nilo

+0

你正在使用mysql的权利?你是否也安装了mysql包? – sdepold

回答