2015-08-15 40 views
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) 

我无法解决此错误。需要帮助 。

+0

您没有任何名为comparison.js的文件,您可能是指'node b.js' –

+0

您在示例中运行了compare.js,而不是b.json –

+0

抱歉,编辑完成。 – saruftw

回答

0

对不起,我通过消除路径末端的空间解决了这个问题。我觉得我好笨 。