为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Node.js获取当前脚本的路径?

如何使用Node.js获取当前脚本的路径?

芜湖不芜 2019-11-21 11:01:20
我如何获得Node.js中脚本的路径?我知道有process.cwd,但是仅指脚本被调用的目录,而不是脚本本身的目录。例如,假设我进入/home/kyle/并运行以下命令:node /home/kyle/some/dir/file.js如果我打电话process.cwd(),我/home/kyle/不会/home/kyle/some/dir/。有没有办法获取该目录?
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

我在再次浏览文档后才找到它。我要寻找的是__filename和__dirname模块级别的变量。


__filename是当前模块的文件名。这是当前模块文件的解析绝对路径。(例如:/home/kyle/some/dir/file.js)

__dirname是当前模块的目录名称。(例如:/home/kyle/some/dir)


查看完整回答
反对 回复 2019-11-21
?
MMTTMM

TA贡献1869条经验 获得超4个赞

因此,基本上,您可以这样做:


fs.readFile(path.resolve(__dirname, 'settings.json'), 'UTF-8', callback);

使用resolve()而不是与“ /”或“ \”串联,否则会遇到跨平台问题。


注意:__dirname是模块或包含的脚本的本地路径。如果您要编写一个需要知道主脚本路径的插件,则为:


require.main.filename

或者,仅获取文件夹名称:


require('path').dirname(require.main.filename)


查看完整回答
反对 回复 2019-11-21
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

此命令返回当前目录:


var currentPath = process.cwd();

例如,使用路径读取文件:


var fs = require('fs');

fs.readFile(process.cwd() + "\\text.txt", function(err, data)

{

    if(err)

        console.log(err)

    else

        console.log(data.toString());

});


查看完整回答
反对 回复 2019-11-21
  • 3 回答
  • 0 关注
  • 952 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信