【发布时间】:2013-10-06 21:14:09
【问题描述】:
我在模块util.js 上创建了一个函数myHash(),以便在我的代码的不同部分重用,但不起作用。
错误信息:this._binding.update(data, encoding); Not a string or buffer.
app.js
...
GLOBAL.util = require('./util');
GLOBAL.dateFormat = util.dateFormat;
GLOBAL.myHash = util.myHash; /***** My function *****/
...
app.post('/test', function(req, res){
...
var pass_shasum = myHash('test');
...
util.js
var crypto = require('crypto');
function myHash(msg) {
return crypto.createHash('sha256').update(msg).digest('hex');
}
exports.util = {
...
myHash: myHash(),
...
};
有什么建议吗?
解决方案:
修改util.js
var crypto = require('crypto');
/* Define var */
var myHash = function (msg) {
return crypto.createHash('sha256').update(msg).digest('hex');
};
module.exports = {
...
myHash: myHash, /* Is a variable not a method. Thanks @robertklep */
...
};
【问题讨论】:
-
对我来说很好。回溯是否真的指向
myHash中的代码? -
在post方法'test'中,我更新了我的问题。
标签: node.js node-crypto