最近我们的项目对结构进行了一些改进,之后我们的gulpfile遇到了一些麻烦。
我已按照here的建议将我们的代码拆分成任务但由于某种原因,我仍然总是遇到
Task 'start' is not in your gulpfile
这只发生在其他人的机器上,但是我的机器,以及调试非常困难。
我还尝试使用require
单独要求每个文件,但我仍然遇到了同样的错误。
可能导致此错误的原因以及在哪里可以开始调试?
'use strict'
var gulp = require('gulp'),
$ = require('gulp-load-plugins')(),
runSequence = require('run-sequence'),
path = require('path'),
del = require('del'),
merge = require('merge2')
var context = path.resolve(__dirname, 'agency/tasks')
require(path.resolve(context, 'build.js'))
require(path.resolve(context, 'clean.js'))
require(path.resolve(context, 'compile.js'))
require(path.resolve(context, 'file_path.js'))
require(path.resolve(context, 'inject.js'))
require(path.resolve(context, 'start.js'))
require(path.resolve(context, 'stream_factory.js'))
require(path.resolve(context, 'watch.js'))
// Previously tried
// require('require-dir')('./agency/tasks')
gulp.task('default', ['start']);
gulp.task('build:common:clean', function() {
return del('commonBuild', {force: true})
})
gulp.task('build:common', ['build:common:clean'], function() {
var buildJade = gulp.src('common/**/*.jade')
.pipe($.jade({pretty: true}))
.pipe($.ngHtml2js({
declareModule: false,
moduleName: 'edvisor.common'
}))
var buildModules = gulp.src(['common/**/*.js', '!common/index.js'])
.pipe($.babel({externalHelpers: true}))
.pipe($.angularFilesort())
var buildIndex = gulp.src('common/index.js')
.pipe($.babel({externalHelpers: true}))
return merge(merge(buildModules, buildIndex), buildJade)
.pipe($.concat('index.js'))
.pipe(gulp.dest('commonBuild'))
})
答案 0 :(得分:0)
我的一位同事最终解决了这个问题。原因是我们在node_modules
文件夹中有一个agency
文件夹。这导致了我在agency/node_modules
中使用gulp的情况,因此当require-dir
完成时,它将没有这些文件中的任务。