1
我是一个新的写node.js模块。我写在THW模块以下方式,Node.js导出函数错误
a.js
var fs = require("fs") ;
var util = require("util") ;
var mime = require("mime") ;
module.exports = {
getDataUri: function (image, callback) {
var data = fs.readFileSync(image).toString("base64") ;
var dataUri = util.format("data:%s;base64;%s", mime.lookup(image), data) ;
return callback(dataUri) ;
}
};
b.js
var d = require('./a.js') ;
function getDiff(image1, image2, callback) {
d.getDataUri(image1, function (d1) {
d.getDataUri(image2, function (d2) {
if (d1==d2) {
return callback(true) ;
}
else {
return callback(false) ;
}
}) ;
}) ;
} ;
getDiff('/Users/sarthakmunshi/Desktop/Print/27274510-Geek-head-logo-template-Stock-Vector.jpg ',
'/Users/sarthakmunshi/Desktop/Print/27274510-Geek-head-logo-template-Stock-Vector.jpg ', function(res) {
console.log(res) ;
}) ;
然而,当我运行b.js我得到一个奇怪的错误,
$ node b.js
fs.js:438
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT, no such file or directory '/Users/sarthakmunshi/Desktop/Print/27274510-Geek-head-logo-template-Stock-Vector.jpg '
at Object.fs.openSync (fs.js:438:18)
at Object.fs.readFileSync (fs.js:289:15)
at Object.module.exports.getDataUri (/Users/sarthakmunshi/Desktop/Print/all-image/lib/dataUri.js:11:19)
at getDiff (/Users/sarthakmunshi/Desktop/Print/all-image/lib/comparison.js:4:5)
at Object.<anonymous> (/Users/sarthakmunshi/Desktop/Print/all-image/lib/comparison.js:16:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
我无法解决此错误。需要帮助 。
您没有任何名为comparison.js的文件,您可能是指'node b.js' –
您在示例中运行了compare.js,而不是b.json –
抱歉,编辑完成。 – saruftw