this question has answer here:
say have following module makedir
checks existence of directory , creates 1 if not exist or calls callback null if directory exists.
which proper way export module?
module.exports = makedir
or module.exports.makedir = makedir
?
'use strict'; var fs = require('fs'); var mkdirp = require('mkdirp'); var makedir = {}; makedir.handler = function (dstpath, sizesobj, callback) { var _path = dstpath + sizesobj.name + "/"; fs.lstat(_path, function (err, stats) { if (err) { mkdirp(_path, function (err, made) { if (err) { console.log("error creating directory: %s", err); callback (err, null); } else { console.log("created new directory"); callback(null, made); } }); } else { callback(null); } }); }; module.exports = makedir;
both methods of using module.exports or module.exports.function_name okay difference comes when require these functions.
let me show difference using example.
a. assigning function directly module.exports
// mkdir.js module.exports = function(){ console.log("make directory function"); }; // app.js var mkdir = require("mkdir.js"); mkdir(); // prints make directory function
b. exporting function @ property in module.exports
// mkdir.js module.exports.first = function(){ console.log('make directory function'); }; // app.js var mkdir = require('mkdir.js'); mkdir.mkdir(); // make directory function
hope helps!
Comments
Post a Comment