我需要从不同的节点项目中执行一个npm脚本。
我尝试了什么:
const installingf = spawn('cd', ['[path to directory]', '&&', 'npm', 'run', 'test']);
installingf.on('message', (data) => {
console.log(`stdout: ${data}`);
});
installingf.on('error', (data) => {
console.log(`stderr: ${data}`);
});
installingf.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
但它不起作用。它显示退出的子进程,代码为0 。
我尝试mkdir
来测试它是否被执行但是没有创建目录,它以代码0退出但是脚本没有被执行。
如果我做错了,请帮我弄清楚如何做到这一点。
答案 0 :(得分:0)
也许是因为您尝试执行一个命令,但是您没有运行 cmd 。
只要您没有创建别名,cd
命令就不存在于Windows上。所以你需要运行' cmd'有参数可以运行。
const spawn = require('child_process').spawn;
const bat = spawn('cmd.exe', ['/c','calc.exe']);
bat.stdout.on('data', (data) => {
console.log(data);
});
bat.stderr.on('data', (data) => {
console.log(data);
});
bat.on('closed', (code) => {
alert(`Child exited with code ${code}`);
});