我已经在gulp中创建了一个任务来转换我的nodejs应用程序:
gulp.task('babel', function() {
return gulp.src('./**/*.js')
.pipe(babel({
ignore: [
'./gulpfile.js',
'./node_modules/**/*.js',
]
}))
.pipe(gulp.dest('./dist'));
});
问题是在转发期间,在dist文件夹中创建了node_modules文件夹和gulpfile。知道为什么吗?
gulpfile
var gulp = require('gulp');
var babel = require('gulp-babel');
var nodemon = require('gulp-nodemon');
gulp.task('babel', function() {
return gulp.src([
'./**/*.js',
'./server/config/manifest.' + (process.env['NODE_ENV'] || 'development') + '.json',
'!./gulpfile.js',
'!./node_modules/**/*.js'
])
.pipe(babel())
.pipe(gulp.dest('./dist'));
});
gulp.task('start', ['babel'], function() {
nodemon({
script: './dist/server.js',
ext: 'js jsx',
tasks: ['babel']
});
});
gulp.task('default', ['start']);
答案 0 :(得分:2)
Babel的ignore
只是意味着他们不会被改造,但是配置gulp仍然会让他们彻底改变。您可能希望ignore
选项中的这些模式为gulp.src
。
编辑:实际上我忘了通过将ignore
选项传递给gulp.src
来排除这些模式的能力取决于glob
版本的最近版本(请参阅我的bug report )。另一种选择是@ raina77ow建议的!
否定模式。