Gulp任务似乎运行了两次,而不是一次
Gulp tasks appear to be running twice, instead of once
问题
我的gump任务似乎运行了两次而不是一次,试图解决这个问题。我想有些人认为罪魁祸首可能在Gulpfile.js
中的默认任务中
Gulpfile.js
// Include Gulp
var gulp = require('gulp');
// All of your plugins
var autoprefixer = require('gulp-autoprefixer');
var imagemin = require('gulp-imagemin');
var jshint = require('gulp-jshint');
var livereload = require('gulp-livereload');
var minify = require('gulp-minify-css');
var notify = require('gulp-notify');
var rename = require('gulp-rename');
var sass = require('gulp-sass');
var uglify = require('gulp-uglify');
var watch = require('gulp-watch');
// Compile CSS, Autoprefix
gulp.task('styles', function() {
return gulp.src('assets/css/style.scss')
.pipe(sass({ style: 'expanded' }))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest('assets/css'))
// .pipe(rename({suffix: '.min'}))
// .pipe(minify())
.pipe(gulp.dest('assets/css'))
.pipe(notify({ message: "Watson: I've organized your files for you." }));
});
// Lint, Concatenate and Minify JavaScript
gulp.task('scripts', function() {
return gulp.src('assets/js/scripts.js')
.pipe(jshint())
.pipe(jshint.reporter('default'))
// .pipe(concat('scripts.js'))
.pipe(gulp.dest('assets/js'))
// .pipe(rename({suffix: '.min'}))
// .pipe(uglify())
.pipe(gulp.dest('assets/js'))
.pipe(notify({ message: "Watson: I've done your dirty laundry." }));
});
// Watch files for changes
gulp.task('watch', function() {
gulp.watch('assets/js/*.js', ['scripts', 'styles']);
gulp.watch('assets/css/**/*.scss', ['styles']);
});
// Default Task
gulp.task('default', function() {
gulp.start('styles', 'scripts', 'watch');
});
终端
[18:53:57] Using gulpfile ~/Desktop/Projects/legislature/Gulpfile.js
[18:53:57] Starting 'default'...
[18:53:57] Starting 'styles'...
[18:53:57] Starting 'scripts'...
[18:53:58] Starting 'watch'...
[18:53:58] Finished 'watch' after 26 ms
[18:53:58] Finished 'default' after 49 ms
[18:53:58] gulp-notify: [Gulp notification] Watson: I've organized your files for you.
[18:53:58] Finished 'styles' after 262 ms
[18:53:58] gulp-notify: [Gulp notification] Watson: I've done your dirty laundry.
[18:53:58] Finished 'scripts' after 256 ms
[18:53:58] Starting 'scripts'...
[18:53:58] Starting 'styles'...
[18:53:58] gulp-notify: [Gulp notification] Watson: I've done your dirty laundry.
[18:53:58] Finished 'scripts' after 232 ms
[18:53:58] gulp-notify: [Gulp notification] Watson: I've organized your files for you.
[18:53:58] Finished 'styles' after 232 ms
scripts
任务写入watch
任务正在监视的同一文件夹。Watch然后按照指定运行scripts
和styles
任务:
gulp.watch('assets/js/*.js', ['scripts', 'styles']);
您的问题是:您有两个相同的行来保存文件并触发两次。
在脚本任务中
.pipe(gulp.dest('assets/js'))
新来者可能遇到的其他问题
我在这里写下我的经历也许能帮助到一些人。
我在项目中使用Dropbox,并在那里工作。当Dropbox打开时,任务会运行两次,因为Dropbox检测到文件更改并执行某些操作。特别是打字文件,我不知道为什么。
相关文章:
- 一次点击,两次'单击'事件已启动
- ng在一页中包含两次相同的部分页面
- 变量递增两次而不是一次
- 地图,rails 4.2,javascript,鼠标悬停,只工作一次(或两次).然后在重新加载之后
- JQuery定位:我可以滚动到正确的位置一次,但不能滚动两次
- JS函数只需点击一次即可触发两次
- Gulp任务似乎运行了两次,而不是一次
- 在javascript中,如何将相同的对象两次推送到一个数组中,并进行一些修改而不覆盖数组
- 滚动时加载更多 滚动速度时一次工作两次
- 一次两个对象的 JQuery 淡入淡出循环
- 一次两个滑动图像
- 在AngularJS中,一次进行两次调用是一种可接受的方法
- Chrome 确实会加载一次视频文件,但不会加载两次
- 如何修复有时加载两次、一次或根本不加载的 Facebook JSDK
- 有没有一种不那么黑客的方法可以防止我的 on('click') 触发两次
- 为什么 console.log() 被调用两次而不是一次
- 向同一按钮添加两次单击事件只能工作一次
- 如何设置相同的索引两次(一次在每个循环内,另一次在循环外部)
- 我的 JSON 数据使用 AJAX 加载了两次,它只应该在单击时加载一次
- jQuery每次重复上一项两次