如何将 js 脚本文件作为子进程执行 node.js
how to execute js script file as child process node.js
我有问题,我正在尝试执行使用 nodemailer 发送邮件的文件,我需要从另一个 JS 文件执行它我试过这样做:
const exec = require('child_process').exec;
exec('"C:/Users/NikitaSeliverstov/node_modules/.bin/send.js"');
但是邮件没有发送。我不需要向文件 send.js 发送参数,只需发送具有完全指定路径的文本文件。很抱歉提出明显的问题,但我无法弄清楚。
我也试过这样做:
const exec = require('child_process').exec;
exec('"node C:/Users/NikitaSeliverstov/node_modules/.bin/send.js"');
您需要指定一个回调函数,该函数将在执行您的 exec 命令后调用:
我创建了 2 个文件:
anotherTest.js
console.log('another test');
test.js
const exec = require('child_process').exec;
const child = exec('node anotherTest.js',
(error, stdout, stderr) => {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
if (error !== null) {
console.log(`exec error: ${error}`);
}
});
这是输出:
stdout: another test
stderr:
您 运行 test.js 脚本通过在 terminal/console 中执行“节点 test.js”。您可以使用您想要的参数更改 exec 命令的参数。
我有问题,我正在尝试执行使用 nodemailer 发送邮件的文件,我需要从另一个 JS 文件执行它我试过这样做:
const exec = require('child_process').exec;
exec('"C:/Users/NikitaSeliverstov/node_modules/.bin/send.js"');
但是邮件没有发送。我不需要向文件 send.js 发送参数,只需发送具有完全指定路径的文本文件。很抱歉提出明显的问题,但我无法弄清楚。 我也试过这样做:
const exec = require('child_process').exec;
exec('"node C:/Users/NikitaSeliverstov/node_modules/.bin/send.js"');
您需要指定一个回调函数,该函数将在执行您的 exec 命令后调用:
我创建了 2 个文件:
anotherTest.js
console.log('another test');
test.js
const exec = require('child_process').exec;
const child = exec('node anotherTest.js',
(error, stdout, stderr) => {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
if (error !== null) {
console.log(`exec error: ${error}`);
}
});
这是输出:
stdout: another test
stderr:
您 运行 test.js 脚本通过在 terminal/console 中执行“节点 test.js”。您可以使用您想要的参数更改 exec 命令的参数。