Javascript 在Gulp中,如何仅处理缩小后更改的SFTP文件?
使用Javascript 在Gulp中,如何仅处理缩小后更改的SFTP文件?,javascript,css,node.js,gulp,Javascript,Css,Node.js,Gulp,使用gulpsftp,我似乎不能只上传CSS缩小后更改的文件 下面的半工作代码段首先编译CSS,然后继续观察srcdir中的更改。它接着观察distdir(存储缩小的CSS)中的更改,以便将该文件上载到web服务器 但是,这不起作用,因为gulp正在上载所有内容,而不仅仅是已更改和缩小的文件 var gulp = require('gulp'), changed = require('gulp-changed'), minifycss = require('gulp-minify
gulpsftp
,我似乎不能只上传CSS缩小后更改的文件
下面的半工作代码段首先编译CSS,然后继续观察src
dir中的更改。它接着观察dist
dir(存储缩小的CSS)中的更改,以便将该文件上载到web服务器
但是,这不起作用,因为gulp
正在上载所有内容,而不仅仅是已更改和缩小的文件
var gulp = require('gulp'),
changed = require('gulp-changed'),
minifycss = require('gulp-minify-css'),
sftp = require('gulp-sftp')
;
var src = './src/',
dist = './dist/';
var srcStyles = src + '**/*.css',
distStyles = dist + '**/*.css';
var host = 'ftp.xxxx.xx.xx',
auth = 'keyMain',
remotePath = 'public_html';
gulp.task('compilecss', function(){
gulp.src(srcStyles)
.pipe(changed(dist))
.pipe(minifycss({keepBreaks: true}))
.pipe(gulp.dest(dist))
;
});
gulp.task('uploadcss', function(){
gulp.src(distStyles)
.pipe(changed(dist))
.pipe(sftp({
host: host,
auth: auth,
remotePath: remotePath
}))
;
});
gulp.task('main', function(){
gulp.start('compilecss');
});
gulp.task('watch', function(){
gulp.watch(srcStyles, ['compilecss']);
gulp.watch(distStyles, ['uploadcss']);
});
gulp.task('default', ['main', 'watch']);
不需要两个任务。gulp是基于文件的,这意味着您应该考虑管道,而不是任务
var gulp = require('gulp'),
changed = require('gulp-changed'),
minifycss = require('gulp-minify-css'),
sftp = require('gulp-sftp');
var src = './src/',
dist = './dist/';
var srcStyles = src + '**/*.css',
distStyles = dist + '**/*.css';
var host = 'ftp.xxxx.xx.xx',
auth = 'keyMain',
remotePath = 'public_html';
gulp.task('compile', function (){
return gulp.src(srcStyles)
.pipe(changed(dist))
.pipe(minifycss({
keepBreaks: true
}))
.pipe(gulp.dest(dist))
.pipe(sftp({
host: host,
auth: auth,
remotePath: remotePath
}));
});
gulp.task('watch', function (){
gulp.watch(srcStyles, ['compile']);
});
gulp.task('default', ['compile', 'watch']);
你在这里问了同样的问题:,也许你介意在这里分享结果吗?抱歉-我现在已经回答了我自己的问题
gulp sftp
在上传后立即关闭了连接,使得下次更改文件时速度非常慢。。。有没有办法解决这个问题并保持连接开放以备将来上传?