我在3个不同的文件夹中有3个独立的应用程序。例如folder1,folder2和folder3。 folder3是folder1和folder2的组合。现在,我在folder1和folder2上运行dist任务,然后使用bower链接我将那些dist文件夹链接到folder3。有没有办法在folder3中运行任务,在folder1和folder2上创建dist,并将它们与folder3链接?总之,我想从folder3运行文件夹1和文件夹2的grunt任务并链接它们。
grunt.config.set('exec', {
loginapp: {
command: 'grunt -b C:/project/loginapp dist'
}
});
grunt.registerTask('all', [
'exec:loginapp'
]);
文件夹结构
c:\project
----loginapp
dist
GruntFile.js
----webapp
public
bower_components
dist-loginapp
GruntFile.js
希望这会有所帮助。我在webapp>我运行dist的GruntFile应该在loginapp上执行dist任务,然后才能执行dist任务。
答案 0 :(得分:0)
您可以使用-b
标志来指定存在Gruntfile的备用基本路径。
然后使用grunt-exec创建运行其他项目的grunt任务的任务。
E.g :
module.exports = function(grunt) {
grunt.config.set('exec', {
distFolder1: {
command: 'grunt -b relative/path/to/Gruntfile/of/folder1 taskName'
},
distFolder2: {
command: 'grunt -b relative/path/to/Gruntfile/of/folder2 taskName'
},
});
grunt.loadNpmTasks('grunt-exec');
};
现在您只需创建一个运行这两项任务的注册任务,然后执行其他任务。
E.g :
module.exports = function(grunt) {
grunt.registerTask('distAndLink', [
'exec:distfolder1',
'exec:distfolder2',
// your other task (bower link)
]);
};
然后从文件夹3运行grunt distAndLink
。