服务器从节点启动时如何运行grunt?

时间:2013-12-01 02:01:08

标签: javascript node.js gruntjs

我想自动刷新由grunt生成的生成的文件。为此,我想从nodeJs自动运行grant。

我从grunt找到了反向运行节点服务器,但这不是我想做的。

您是否有在服务器启动时运行grunt的提示?也许这就像从节点调用命令行,但我不习惯这样做。感谢。

2 个答案:

答案 0 :(得分:2)

最终解决方案:

    var spawn = require('child_process').spawn;
    var cp = spawn(process.env.comspec, ['/c', 'grunt']);// ['/c', 'command', '-arg1', '-arg2']

    cp.stdout.on("data", function(data) {
        console.log(data.toString());
    });

    cp.stderr.on("data", function(data) {
        console.error(data.toString());
    });

在此处找到:Spawn on Node JS (Windows Server 2012) 感谢@Diadara。

答案 1 :(得分:1)

您可以使用子流程

var spawn = require('child_process').spawn,
grunt    = spawn('grunt', ['args']);

grunt.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});

正如您所看到的,子进程是异步运行的,如果您想同步运行grunt,请查看此问题node.js execute system command synchronously