I wonder how-to get an absolute path of a caller of a function?
Let say that:
in file a.js I call b(); b() is a function defined in file b.js. a.jsrequires b . So how do I get a.js absolute path from b.js in node?
Failing to restore the prepareStackTrace function can cause issues. Here's an example that removes side-effects
function _getCallerFile() {     var originalFunc = Error.prepareStackTrace;      var callerfile;     try {         var err = new Error();         var currentfile;          Error.prepareStackTrace = function (err, stack) { return stack; };          currentfile = err.stack.shift().getFileName();          while (err.stack.length) {             callerfile = err.stack.shift().getFileName();              if(currentfile !== callerfile) break;         }     } catch (e) {}      Error.prepareStackTrace = originalFunc;       return callerfile; } 
                        This is an example how to use stacktrace to find caller file in node
function _getCallerFile() {     var filename;      var _pst = Error.prepareStackTrace     Error.prepareStackTrace = function (err, stack) { return stack; };     try {         var err = new Error();         var callerfile;         var currentfile;          currentfile = err.stack.shift().getFileName();          while (err.stack.length) {             callerfile = err.stack.shift().getFileName();              if(currentfile !== callerfile) {                 filename = callerfile;                 break;             }         }     } catch (err) {}     Error.prepareStackTrace = _pst;      return filename; } 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With