首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >观看完毕后吞咽上传ftp

观看完毕后吞咽上传ftp
EN

Stack Overflow用户
提问于 2016-05-06 22:33:14
回答 1查看 969关注 0票数 0

这是我的吞咽文件。修改后应编译scss并上传文件。它上传,但不总是。我做错了什么?

代码语言:javascript
复制
var gulp = require('gulp'),
    watch = require('gulp-watch'),
    gutil = require( 'gulp-util' ),
    sass = require('gulp-sass'),
    ftp = require( 'vinyl-ftp' );

gulp.task( 'deploy', function () {

    var conn = ftp.create( {
        host:     'host',
        user:     'user@host',
        password: 'pass',
        parallel: 10,
        log:      gutil.log
    } );

    var globs = [
        'src/**',
        'css/**',
        'build/**',
        'js/**',
        'fonts/**',
        'index.html'
    ];

    // using base = '.' will transfer everything to /public_html correctly
    // turn off buffering in gulp.src for best performance

    return gulp.src( globs, { base: '.', buffer: false } )
        .pipe( conn.newer( '/test' ) ) // only upload newer files
        .pipe( conn.dest( '/test' ) );

} );

gulp.task('css', function () {
    return gulp.src('scss/**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('css'))
});

gulp.task('watch', function (){
  gulp.watch('scss/**/*.scss', ['css', 'deploy']);
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-07 08:43:45

这句话不像你想的那样:

代码语言:javascript
复制
gulp.watch('scss/**/*.scss', ['css', 'deploy']);

不运行,运行css任务,然后运行deploy任务。Gulp以最大并发性执行所有任务,除非您另有通知。

这意味着您的cssdeploy任务在更改.scss文件时都会立即开始运行。根据css任务在deploy任务开始传输它们之前是否完成了对deploy文件的编译,这可能有效,也可能不行。

deploy任务完成后,您需要告诉gulp只执行任务:

代码语言:javascript
复制
gulp.task( 'deploy', ['css'], function () {
  //...
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37082355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档