In Node.js how can I tell the path of `this` module?

梦想的初衷 提交于 2019-12-18 12:09:38

问题


In a Node.js module I'm writing I would like to open a file--i.e, with fs.readFile()--that is contained in the same directory as my module. By which I mean it is in the same directory as the ./node_modules/<module_name>/index.js file.

It looks like all relative path operations which are performed by the fs module take place relative to the directory in which Node.js is started. As such, I think I need to know how to get the path of the current Node.js module which is executing.

Thanks.


回答1:


As david van brink mentioned in the comments, the correct solution is to use __dirname. This global variable will return the path of the currently executing script (i.e. you might need to use ../ to reach the root of your module).

For example:

var path = require("path");
require(path.join(__dirname, '/models'));

Just to save someone from a headache.



来源:https://stackoverflow.com/questions/5215871/in-node-js-how-can-i-tell-the-path-of-this-module

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!