2017-10-20 40 views
0

我需要从不同的节点项目执行一个npm脚本。执行另一个项目/回购项目的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

请解释downvote。如果我错过了某些问题,我会在问题中加入。谢谢 :) –

回答

0

也许是因为您试图执行一个命令,但是您不运行cmd

只要您未创建别名,则该窗口上不存在cd命令。所以你需要运行参数来运行'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}`); 
}); 
相关问题