我无法让gulp watch在两台不同的服务器上正常工作。第一台服务器是运行Ubuntu 14.04的Linode,一切正常。第二台服务器使用MediaTemple并运行CentOS 6.这是我遇到问题的服务器。
如果我运行我的sass编译任务,sass文件将编译为正确的style.css文件。但是,当我运行gulp watch时,sass文件会编译成一个空的style.css文件。
两个服务器都使用相同的package.json文件和相同的gulpfile.js。
操作系统的差异会导致这种情况吗?任何帮助将不胜感激。
谢谢, 大卫
gulpfile.js
'use strict';
require("time-require");
/**************************************************************
enter
gulpt build --sorted
in terminal to see why gulp is loading slow.
***************************************************************/
//General Plugins
var gulp = require('gulp');
var livereload = require( 'gulp-livereload' );
var del = require('del');
var runSequence = require('run-sequence');
//SASS Plugins
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
//JS Plugins
var jshint = require('gulp-jshint');
/**************************************************************
Cleaning Up Files
***************************************************************/
gulp.task('clean', function() {
del('./*.css');
});
/**************************************************************
Gulp SASS Compilation
***************************************************************/
gulp.task('sassy', function() {
return gulp.src('./sass/**/*.scss')
.pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1'))
.pipe(gulp.dest('./'))
.pipe(livereload());
});
/**************************************************************
JS Hinting & Minification(later) Compilation
***************************************************************/
gulp.task('jshint', function() {
return gulp.src('./js/scripts.js')
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(livereload());
});
/**************************************************************
NSA'ing all your files
***************************************************************/
gulp.task('watch', ['sassy'], function() {
livereload.listen({host:'205.186.140.200', port : '35729'});
//watch sassy files
gulp.watch('./sass/**/*.scss', ['sassy']).on('change', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
//watch scripts.js
gulp.watch('./js/scripts.js', ['jshint']).on('change', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
//watch all php files
gulp.watch('./**/*.php' ).on( 'change', function( file ) {
livereload.changed( file );
});
});