远程fs.readFile问题? (在本地工作,但不能在服务器上工作)

时间:2019-02-16 22:52:29

标签: node.js json server bots discord.js

下面的代码用于Discord机器人的随机报价生成器,并且已被剥离以便于阅读,我遇到的问题是在我的“开发机器”(发烧友/业余爱好者)上,该代码确实运行良好,但是当上传到我的Droplet(Ubuntu 18.04,节点v8.15)后,它什么也不做,甚至没有返回错误。

const fs = require("fs");

exports.run = async (client, message, args) => { 

if (!args || args.length > 0) return message.reply("No need for multiple inputs");

fs.readFile("./quotes.json", "utf8", function(err, data) {
const obj = JSON.parse(data);
const result = obj[Math.floor(Math.random() * obj.length)];


message.channel.send(result.quote);
 });
 };

当代码在小滴上,并且我删除了fs.readfile和JSON.parse块并将回复中的代码硬编码到message.channel.send("it works")中时,它确实返回了预期的消息,我希望有人对问题,并建议是代码问题还是服务器配置问题。

下面的工作代码

tbh,我仍然不知道问题出在什么地方,所以我只用了不到10分钟的时间就将其全部重写到了一个新文件中。.更改了几个变量名几乎是我所做的,除了添加{{1 }}

__dirname +

2 个答案:

答案 0 :(得分:1)

没有错误有点奇怪,但是请仔细检查文件是否在正确的位置(如果找不到文件,则应抛出错误),并使用ls -l

答案 1 :(得分:0)

您可能想要做:

fs.readFile("./quotes.json", "utf8", function(err, data) {
    if(err) console.log(err);

以便它向您显示错误