grunt-babel 不能作为多任务工作
grunt-babel not working as multi-task
以下配置按预期工作,但是当 //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: {
未被注释,该目录不会被创建。在这两种情况下,g运行t 都是 运行 作为 grunt babel
,它 returns Done, without errors
.
由于 g运行t-babel 注册为多任务,dist
实际上是目标的名称,files
在配置的第一级。所以当你 运行 没有 build
的 babel 时,它实际上是 运行ning 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。
以下配置按预期工作,但是当 //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: {
未被注释,该目录不会被创建。在这两种情况下,g运行t 都是 运行 作为 grunt babel
,它 returns Done, without errors
.
由于 g运行t-babel 注册为多任务,dist
实际上是目标的名称,files
在配置的第一级。所以当你 运行 没有 build
的 babel 时,它实际上是 运行ning 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。