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

我正在使用一个Node.js脚本来读取和使用这个函数从.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文件和.txtfile upload到服务器上的某个文件夹时,突然间我收到一个Error: ENOENT, no such file or directory 'meals.txt'

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

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

感谢您的帮助!

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

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