查找调用函数(nodejs)的文件的位置
Finding the location of a file that calls a function (nodejs)
如果从文件中调用模块的方法,我可以从模块中告诉该文件的位置吗?所以
// my-module.js
module.exports = {
method: function () {
// in here I would like to detect the path to my-app.js
}
}
// my-other-module.js
require('my-module').method();
我想从my-module.js中访问my-other-module.js的__filename
。我不想传递__filename
作为参数
对于实用程序日志记录,您可以使用以下命令(我使用的是这样的内容):
module.exports = {
method: function () {
var myError = new Error();
var trace = myError.stack.split(''n');
trace = trace[1];
var filename = trace.substr(trace.lastIndexOf('/') + 1);
filename = filename.substr(0, filename.indexOf(':'));
console.log('filename', filename);
}
};
在我的例子中,我保存了"e.stack",因为您有所有错误跟踪(所有文件跟踪)。要小心这种方式,因为如果您将此代码移动到一个名为"getFilename"的函数中,那么您需要修改代码中的某些内容(因为trace将不同,也许在本例中使用trace = trace[2]移动代码就足够了)。
更新:在github上添加repo示例
https://github.com/josemato/stackoverflow/tree/master/js-error-trace-get-filename相关文章:
- 将Rails后端添加到JS/HTML/CSS应用程序时,正确的文件位置是什么
- 在codeigniter目录中放置javascript文件的位置
- xml文件在js项目目录结构中的位置
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- HTML5要求隐藏文件字段-反馈位置
- 为什么我在 webpack 中需要 html 文件时会得到一个位置字符串
- 相对于文件系统而不是网站,源映射文件位置更少
- 如何在 Ext JS 网格列中打开共享路径文件位置
- 文件.位置 奇怪的行为?/ 替代 jsTree 链接解决方案
- 从 IE9 拖放事件获取文件位置
- JwPlayer-使用javascript生成的URL作为文件位置
- 使用本地属性和文件位置将图像添加到电灯开关
- 如何请求用户输入文件位置,以便在Eclipse(Java)程序中使用和读取它
- 更改Azure上NodeJS应用程序的初始文件位置
- 黑莓6锚文件.位置不工作
- JSHint 文件位置添加“-W041”:假
- CSS 包括相对于 CSS 文件位置的图像
- insertImage JS自动前置文件位置
- Wordpress, Jquery,切换,按钮,文件位置,代码位置,只在某些时候有效.为什么
- 加载资源404(未找到)失败-文件位置错误