Gruntjs 为不可多任务的grunt插件创建两种配置
我使用一个名为grunt的包,显然,它不支持多任务Gruntjs 为不可多任务的grunt插件创建两种配置,gruntjs,Gruntjs,我使用一个名为grunt的包,显然,它不支持多任务 grunt.initConfig({ pkg:grunt.file.readJSON('package.json'), 预处理:{ 选项:{ 背景:{ ENV:grunt.option('ENV')| |'prod' }, }, 来自_dir的所有_:{ src:“***”, cwd:'src/', 目的地:“src”, 扩展:正确 } }, }) 现在我想执行两次preprocess,一次从src目录执行,一次从dist目录执行。我应该如何
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
预处理:{
选项:{
背景:{
ENV:grunt.option('ENV')| |'prod'
},
},
来自_dir的所有_:{
src:“***”,
cwd:'src/',
目的地:“src”,
扩展:正确
}
},
})
现在我想执行两次preprocess
,一次从src
目录执行,一次从dist
目录执行。我应该如何配置此软件包来实现这一点
我尝试过这种配置
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
预处理:{
第一:{
选项:{
背景:{
ENV:grunt.option('ENV')| |'prod'
},
},
来自_dir的所有_:{
src:“***”,
cwd:'src/',
目的地:“src”,
扩展:正确
}
},
第二:{
选项:{
背景:{
ENV:grunt.option('ENV')| |'prod'
},
},
来自_dir的所有_:{
src:“***”,
cwd:'dist/',
目的地:“距离”,
扩展:正确
}
}
}
})
然后执行grunt预处理:first
。但是,它不起作用:
是的,您是对的,
预处理
只是一个任务,因此不允许定义多个任务
您需要创建另一个自定义任务,动态配置预处理任务,然后运行它
例如:
grunfile.js
module.exports=函数(grunt){
loadNpmTasks('grunt-preprocess');
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
预处理:{
选项:{
背景:{
ENV:grunt.option('ENV')| |'prod'
},
},
来自_dir的所有_:{
src:“***”,
cwd:'src/',
目的地:“src”,
扩展:正确
}
},
// ...
});
//自定义任务动态配置并运行“预处理”任务。
registerTask('preprocess\u dist',function(){
grunt.config.set('preprocess.all_from_dir.cwd','dist/');
grunt.config.set('preprocess.all_from_dir.dest','dist');
run(['preprocess']);
});
registerTask('prepreprocesseath',['preprocess','preprocess_dist']);
};
跑步:
通过CLI运行以下单个命令以执行两次preprocess
任务,一次从src
目录执行,一次从dist
目录执行:
grunt preprocessBoth
说明:
名为preprocess\u dist
的自定义任务动态配置cwd
和dest
属性的值,分别将它们设置为'dist/'
和'dist'
。这是通过以下方法完成的
然后通过该方法运行任务
最后一行代码,内容如下:
grunt.registerTask('prepreprocesseath',['preprocess','preprocess_dist']);
创建一个名为preprepreduce
的任务,并将以下两个任务添加到:
预处理
preprocess\u dist
运行grunt预处理时发生的基本情况是:
preprocess
任务使用src
目录中的文件运行
- 然后,自定义
preprocess\u dist
任务使用dist
目录中的文件运行
如果愿意,还可以通过CLI独立运行每个任务,即:
grunt预处理
及
grunt预处理区
是的,您是对的,预处理
只是一个任务,因此不允许定义多个任务
您需要创建另一个自定义任务,动态配置预处理任务,然后运行它
例如:
grunfile.js
module.exports=函数(grunt){
loadNpmTasks('grunt-preprocess');
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
预处理:{
选项:{
背景:{
ENV:grunt.option('ENV')| |'prod'
},
},
来自_dir的所有_:{
src:“***”,
cwd:'src/',
目的地:“src”,
扩展:正确
}
},
// ...
});
//自定义任务动态配置并运行“预处理”任务。
registerTask('preprocess\u dist',function(){
grunt.config.set('preprocess.all_from_dir.cwd','dist/');
grunt.config.set('preprocess.all_from_dir.dest','dist');
run(['preprocess']);
});
registerTask('prepreprocesseath',['preprocess','preprocess_dist']);
};
跑步:
通过CLI运行以下单个命令以执行两次preprocess
任务,一次从src
目录执行,一次从dist
目录执行:
grunt preprocessBoth
说明:
名为preprocess\u dist
的自定义任务动态配置cwd
和dest
属性的值,分别将它们设置为'dist/'
和'dist'
。这是通过以下方法完成的
然后通过该方法运行任务
最后一行代码,内容如下:
grunt.registerTask('prepreprocesseath',['preprocess','preprocess_dist']);
创建一个名为preprepreduce
的任务,并将以下两个任务添加到:
预处理
preprocess\u dist
运行grunt预处理时发生的基本情况是:
preprocess
任务使用src
目录中的文件运行
- 那么习俗呢<