我要么空白,要么它应该更复杂。
我正在尝试grunt-init
从 Grunt 任务中运行,如下所示:
grunt.registerTask('init', 'Scaffold various artifacts', function(param) {
// analyze `param` and pass execution to `grunt-init`
// run `grunt-init path/to/some/template/based/on/param/value`
});
当然,分析的部分param
不是问题。它正在运行grunt-init
。
grunt-init
直接在与以下尝试相同的文件夹中运行可以正常工作。
我尝试了以下方法(为了代码的简短而内联了模板路径),但都无济于事:
咕噜壳
shell: {
init: {
options: {
stdout: true,
callback: function(err, stdout, stderr, cb) {
...
}
},
command: 'grunt-init path/to/some/template/based/on/param/value'
}
}
接着:
grunt.registerTask('init', 'Scaffold various artifacts', function(param) {
grunt.task.run(['shell:init']);
});
在命令行中:
grunt init
或直接从命令行:
grunt shell:init
咕哝执行
exec: {
init: {
cmd: 'grunt-init path/to/some/template/based/on/param/value',
callback: function() {
...
}
}
}
接着:
grunt.registerTask('init', 'Scaffold various artifacts', function(param) {
grunt.task.run(['exec:init']);
});
在命令行中:
grunt init
或直接从命令行:
grunt exec:init
节点的exec
grunt.registerTask('init', 'Scaffold various artifacts', function(param) {
var exec = require('child_process').exec;
exec('grunt-init path/to/some/template/based/on/param/value', function(err, stdout, stderr) {
...
});
});
在命令行中:
grunt init
没有什么。
有各种尝试,其中最好的会打印第一行grunt-init
提示:
Running "init" task
就是这样。
我错过了什么?我应该以stdout
某种方式连接吗?