首页 > 解决方案 > Grunt Spawn 任务并获得结果

问题描述

我正在尝试创建一个 grunt 任务,它会产生一个命令窗口并从命令中获取结果。作为测试,我只是运行 cd 来获取当前目录,(我也尝试过 cwd)

grunt.registerTask('random', function(){
    var done = this.async();

    grunt.util.spawn({
        cmd: 'cd'
    }, function(error, result, exitCode){
        console.log("callback hit");
        console.log(result);
        done();
    });

我收到一个找不到 cd 的错误

回调命中
{ 标准输出:'',
标准错误:'错误:未找到:cd',
代码:127,
toString:[函数:toString]}

如何在 grunt 中执行 shell 窗口并返回结果?

标签: javascriptnode.jsgruntjs

解决方案


grunt.registerTask('random', function(){

    var exec = require('child_process').execSync;

    var result = exec('cd', { encoding: 'utf8' });
    meta.version = result;
    grunt.log.writeln('version: ' + result);
});

推荐阅读