3

コードのさまざまな部分で再利用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');
...

ユーティリティ.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 */
    ...
};
4

1 に答える 1