以下配置按预期工作,但是当//build: {
内容被取消注释时,它会无声地失败,或者它会对我造成意外情况。
babel: {
//build: {
options: {
sourceMap: true,
presets: ['es2015']
},
dist: {
files: [{
expand: true,
cwd: 'build/src/app',
src: ['**/*.js'],
dest: 'build/src/es5-app'
}]
}
//}
},
因此,在//build: {
注释掉的情况下,es5-app
目录在build/src
创建,但如果//build: {
未注释,则不会创建目录。在这两个实例中,grunt都以grunt babel
运行,并返回Done, without errors
。
答案 0 :(得分:1)
由于grunt-babel被注册为多任务,dist
实际上是目标的名称,files
位于配置的第一级。因此,当您运行没有build
的babel时,它实际上正在运行babel:dist
(您应该在日志中看到它)。
为了让它以您想要的方式工作,您需要以下内容:
babel: {
options: {
sourceMap: true,
presets: ['es2015']
},
dist: {
files: [{
expand: true,
cwd: 'build/src/app',
src: ['**/*.js'],
dest: 'build/src/es5-app'
}]
}
build: {
files: [{
expand: true,
cwd: 'build/src/app/test',
src: ['test/**/*.js'],
dest: 'build/test/es5-app'
}]
}
},
这将允许你运行babel:dist或babel:build。
有关多任务的详细信息,请参阅http://gruntjs.com/creating-tasks。