2つのファイルa.jsとb.jsがあります。ここで、a.jsはbを呼び出す単純なnode.jsスクリプトです。 jsはDiscord.jsボットです。execを使用してDiscord.js botを起動しているノードjsが正しく実行されない
a.js
const { exec } = require(‘child_process’);
exec(‘node b.js’, (err,stdout,stderr) => {
console.log(‘err: ‘ + err + ‘\n stdout: ‘ + stdout + ‘\n stderr:‘ + stderr);
});
b.js
const Discord = require(‘discord.js’);
const fs = require(‘fs’);
var bot = new Discord.Client();
var token;
fs.readFile(‘token.txt’,(err,data) => {
if(err){console.log(err); process.exit(0);}
token = data;
});
bot.on(‘ready’,()=>{console.log(‘ready’);});
bot.on(‘message’, message => {
if(message.content == ‘ping’){
message.channel.send(‘pong’);
}
});
bot.login(token);
私はa.jsを実行すると、出力のみが、その後
err:
stdout:
stderr:
a.jsですb.jsが実行されなかったかのように表示されます。 なぜこのようなことが起きているのか、それはなぜですか? さらに、なぜ私がこれをやっているのか不思議に思われる人は、これを大きなスクリプトの一部として持っており、私はこの問題を煮詰めました。そして、主要な部分は、b.jsがexecから実行されなければならないということです。私はこれをWindows 10で実行しています。最新のバージョンのノードとDiscord.jsを使用しています。ありがとう
あなたがしたことをしたときに正常に動作するので、これは問題ではありません。 – BElgy
心配しないで、別の答えを投稿しました。 –