如何将 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 命令的参数。