如何使用 node.js 打开服务器上的文件

How to open a file on a server using node.js

我正在使用 Node.js 脚本读取并 return 使用此函数从 .txt 文件中随机读取一行:

function pickMeal(){
var meals = fs.readFileSync('meals.txt','utf8');
var mealsArray = meals.toString().split('\n');
return mealsArray[Math.floor(Math.random()*mealsArray.length)];
}

在我的桌面上,它工作正常。当我将 .js 文件和 .txt 文件都上传到服务器上的文件夹时,突然出现 Error: ENOENT, no such file or directory 'meals.txt'

我正在使用 Amazon EC2 服务器,.js 脚本和 .txt 文件位于同一目录中。可能是.txt文件的权限有问题?

我已经尝试将脚本定向到 ~/folder/meals.txt 甚至文件的整个 http link,但我得到了相同的结果。

感谢您的帮助!

节点将尝试从系统根目录读取文件。您必须提供完整的路径名。

var path = require('path');
var txtpath = path.join(__dirname, 'folder_where_txt_file_is', 'txtfile.txt');
// now you can read the txt path