如何通过SFTP设置自动primefaces转移

我正在做一个个人项目。 由于我不必担心与他人合作或从开发环境部署到生产环境,因此我只是简单地修改服务器上的文件,而我正在为我的应用程序提供服务。

为此,我使用Panic的传输( https://panic.com/transmit/ ),一个FTP / SFTP客户端。 对我来说很高兴,它提供了FUSEfunction,所以我可以将我的服务器的文件系统挂载到我的本地文件系统上。 我在我的文本编辑器中进行了更改,他们得到保存,他们自动上传。

但是我的文件也需要在服务器上由Gulp( http://gulpjs.com/ )处理。 这部分也适用。 Gulp观察这些文件,如果它们改变了,它将处理它们。

不幸的是,这两件事情在一起工作不好。 当我做出改变的时候,我最终会得到一个空文件,在那里我希望有一个新处理的文件。

我的假设是,传输不是primefaces传输我的文件。 而且似乎没有提供这样做的select。 Gulp在传输有机会上传他们的内容之前看到文件变化,因此我得到空文件。

我的问题是,我能做些什么来解决这个问题? 我宁愿保持尽可能接近我目前的工具链,但我也接受全新的方式来完成这一点。

谢谢!

原来,文件传输primefaces性可能只是问题的一半。 也就是说,我在发布之前做的一件事是确保我的文本编辑器是primefaces的。 事实并非如此,但是即使我修正了这个问题,问题仍然存在。

另一半是文件权限。 Gulp生产的文件的权限过于严格。 这是固定我gulp-chmod( https://www.npmjs.com/package/gulp-chmod )。 这是我工作的gulpfile.js样子:

 var gulp = require('gulp'); var $ = require('gulp-load-plugins')(); var sassPaths = [ 'bower_components/normalize.scss/sass', 'bower_components/foundation-sites/scss', 'bower_components/motion-ui/src' ]; gulp.task('sass', function() { return gulp.src('scss/styles.scss') .pipe($.sass({ includePaths: sassPaths, outputStyle: 'nested' }) .on('error', $.sass.logError)) .pipe($.autoprefixer({ browsers: ['last 2 versions', 'ie >= 9'] })) .pipe($.chmod(0o644)) .pipe(gulp.dest('static/css')); }); gulp.task('default', ['sass'], function() { gulp.watch(['scss/**/*.scss'], ['sass']); });