Gulp 脚本Concat/Minify任务保持运行

Gulp 脚本Concat/Minify任务保持运行,gulp,Gulp,因此,我有一项任务如下: gulp.task('scripts', function() { return gulp.src(['app/scripts/app.js', 'app/scripts/controllers/**/*.js', 'app/scripts/services/**/*.js', 'app/scripts/directives/**/*.js', 'app/scripts/libs/**/*.js' ]) .pipe(concat('externa

因此,我有一项任务如下:

gulp.task('scripts', function() {
    return gulp.src(['app/scripts/app.js', 'app/scripts/controllers/**/*.js', 'app/scripts/services/**/*.js', 'app/scripts/directives/**/*.js', 'app/scripts/libs/**/*.js' ])
        .pipe(concat('external.min.js'))
        .pipe(ngAnnotate())
        .pipe(uglify())
        .pipe(gulp.dest('app/scripts'))
        .pipe(gulp.dest('dist/scripts'))
});
我有一个值班任务:

gulp.task('watch', ['sass-dev', 'scripts'], function() {
    gulp.watch('app/style/sass/**/*.scss', ['sass-dev']);
    gulp.watch('app/scripts/**/*.js', ['scripts']);
});
除了每次我保存一个JS文件时,“脚本”都会运行多次,所有这些都可以正常工作。我假设问题在于gulp.src,它正在查看多个文件,但我不确定

(对我来说)这没什么大不了的,但有时我会切换到命令行,任务会无限期地运行。它只是一次又一次地被呼叫

如果你还没猜到的话,我正在运行Angular,这就是为什么app.js是第一个,而我有nAnotate


有人能解释一下为什么脚本有时会连续运行吗?

我想问题在于
.pipe(gulp.dest('app/scripts'))
。你正在用你的脚本做一些东西(丑陋和棱角分明的东西),然后你把它们放在你正在观看的同一个文件夹中。因此,
脚本
任务将一次又一次地启动


您应该删除这一行,只将分发脚本放在分发文件夹中,不动应用程序文件。

完全忽略了这一点。它也很简单!哈哈。谢谢这解决了我的问题。