Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js fs.readFile返回文件的早期版本_Javascript_Node.js_Discord.js_Fs - Fatal编程技术网

Javascript Node.js fs.readFile返回文件的早期版本

Javascript Node.js fs.readFile返回文件的早期版本,javascript,node.js,discord.js,fs,Javascript,Node.js,Discord.js,Fs,我制定了以下代码: var Discord = require('discord.js'); var client = new Discord.Client(); var fs = require('fs'); var dotenv = require('dotenv'); var option = require('./assets/config.json'); dotenv.config({ path: __dirname + '/assets/.env' }); client.on

我制定了以下代码:

var Discord = require('discord.js');
var client = new Discord.Client();
var fs = require('fs');
var dotenv = require('dotenv');
var option = require('./assets/config.json');
dotenv.config({
    path: __dirname + '/assets/.env'
});
client.on('ready', function () {
    console.log(`Logged in as ${client.user.tag}`);
});
client.on('message', function (message) {
    var done = false;
    if (!message.content.startsWith('/')) return;
    var args = message.content.substr(1).split(' ');
    fs.readdir('./cmd/', function (err, list) {
        for (var i = 0; i < list.length; i++) {
            var cmds = require(`./cmd/${list[i]}`);
            for (var x = 0; x < cmds.alises.length; x++) {
                for (var a = 0; a < args.length; a++) {
                    if (args[a] == cmds.alises[x] && !done) {
                        cmds.run(client, message, args, option);
                        done = true;
                    }
                }
            }
        }
    });
});
client.login(process.env.TOKEN);
var Discord=require('Discord.js');
var client=newdiscord.client();
var fs=需要('fs');
var dotenv=require('dotenv');
var option=require('./assets/config.json');
dotenv.config({
路径:_dirname+'/assets/.env'
});
client.on('ready',function(){
log(`Logged as${client.user.tag}`);
});
client.on('message',函数(message){
var done=false;
如果(!message.content.startsWith(“/”)返回;
var args=message.content.substr(1.split)(“”);
fs.readdir(“./cmd/”,函数(err,list){
对于(变量i=0;i

我认为编辑模块文件时不必重新启动这个主文件,因为在这个代码中,Node.js会立即读取消息中的所有文件。但是当我编辑模块文件时,我应该重新启动主文件。为什么会发生这种情况?

Node。一种常见的模式是在开发中发生更改后使用或类似的方式重新启动节点。如果您真的想在每次发送消息时重新加载所有模块,那么可以,但我建议您在应用程序启动时加载一次模块。为了澄清cubrr所说的与您所说的想法相比较。fs读取通常用于避免需要清除缓存或重新启动程序以更改JSON文件,但这仅适用于可能需要的JSON文件。这对JS脚本不起作用,因为必需的语句总是被缓存。例如,我看到您使用的是config.json。如果你想在你的JS应用程序之外改变它,并让这些改变立即生效,你需要使用fs来读写它,而不是需要。