gpt4 book ai didi

javascript - 自定义 NodeJS Grunt 命令

转载 作者:搜寻专家 更新时间:2023-11-01 00:46:30 26 4
gpt4 key购买 nike

我有一个看起来像这样的自定义 grunt 任务:

grunt.registerTask('list', 'test', function()
{
var child;
child = exec('touch skhjdfgkshjgdf',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
});

然而,当我尝试运行 pwd 命令时,这有效,但我没有得到任何输出。这样做的最终目标是能够用 grunt 编译 sass 文件,我认为最好的方法是运行命令行命令通过 grunt 编译 sass 但是我想在屏幕上得到某种输出工作正常。这段代码有什么原因不会打印通过 grunt/nodejs 运行 unix 命令的结果吗?

最佳答案

exec() 是异步的,所以你需要告诉 grunt 并在完成时执行回调:

grunt.registerTask('list', 'test', function()
{
// Tell grunt the task is async
var cb = this.async();

var child = exec('touch skhjdfgkshjgdf', function (error, stdout, stderr) {
if (error !== null) {
console.log('exec error: ' + error);
}

console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);

// Execute the callback when the async task is done
cb();
});
});

来自 grunt 文档: Why doesn't my asynchronous task complete?

关于javascript - 自定义 NodeJS Grunt 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com