使用 gulp-babel 忽略转译 nodejs 应用程序不起作用
Transpiling nodejs app with gulp-babel ignore doesn't work
我在 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 文件夹和 gulp 文件。知道为什么吗?
gulp文件
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']);
Babel 的 ignore
只是意味着它们不会被转换,但是使用那个配置 gulp 仍然会通过管道传递它们。您可能希望 ignore
选项中的这些模式到 gulp.src
.
编辑:实际上我忘记了通过将 ignore
选项传递给 gulp.src
来排除这些模式的能力取决于您的 glob
版本的最新程度(请参阅我的 bug report).另一种选择是 !
否定模式 @raina77ow 建议。
我在 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 文件夹和 gulp 文件。知道为什么吗?
gulp文件
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']);
Babel 的 ignore
只是意味着它们不会被转换,但是使用那个配置 gulp 仍然会通过管道传递它们。您可能希望 ignore
选项中的这些模式到 gulp.src
.
编辑:实际上我忘记了通过将 ignore
选项传递给 gulp.src
来排除这些模式的能力取决于您的 glob
版本的最新程度(请参阅我的 bug report).另一种选择是 !
否定模式 @raina77ow 建议。