【发布时间】:2015-09-05 13:10:17
【问题描述】:
我在 gulp 中创建了一个任务来转换我的 nodejs 应用程序:
gulp.task('babel', function() {
return gulp.src('./**/*.js')
.pipe(babel({
ignore: [
'./gulpfile.js',
'./node_modules/**/*.js',
]
}))
.pipe(gulp.dest('./dist'));
});
问题是在转译过程中 node_modules 文件夹和 gulpfile 是在 dist 文件夹中创建的。知道为什么吗?
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']);
【问题讨论】:
-
您可以在
src参数中排除这些文件,就像['./**/*.js', '!./node_modules{,/**}', './gulpfile.js']一样。在这种情况下,babelANDdest任务不会处理这些。 -
@raina77ow 我需要禁止我的节点模块(供应商文件夹)通过 Babel,但我仍然需要通过 Gulp 将这些供应商文件连接到我的
app.js文件。在我的.babelrc文件夹中,我添加了"ignore": ["node_modules", "vendor/*"],但没有运气。有什么建议吗?
标签: javascript node.js gulp babeljs