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

我如何获得Node.js中脚本的路径?


我知道有process.cwd,但是仅指脚本被调用的目录,而不是脚本本身的目录。例如,假设我进入/home/kyle/并运行以下命令:


node /home/kyle/some/dir/file.js

如果我打电话process.cwd(),我/home/kyle/不会/home/kyle/some/dir/。有没有办法获取该目录?


芜湖不芜
浏览 870回答 3
3回答

吃鸡游戏

我在再次浏览文档后才找到它。我要寻找的是__filename和__dirname模块级别的变量。__filename是当前模块的文件名。这是当前模块文件的解析绝对路径。(例如:/home/kyle/some/dir/file.js)__dirname是当前模块的目录名称。(例如:/home/kyle/some/dir)

MMTTMM

因此,基本上,您可以这样做:fs.readFile(path.resolve(__dirname, 'settings.json'), 'UTF-8', callback);使用resolve()而不是与“ /”或“ \”串联,否则会遇到跨平台问题。注意:__dirname是模块或包含的脚本的本地路径。如果您要编写一个需要知道主脚本路径的插件,则为:require.main.filename或者,仅获取文件夹名称:require('path').dirname(require.main.filename)

慕哥9229398

此命令返回当前目录: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());});
打开App,查看更多内容
随时随地看视频慕课网APP