我最近用Vagrant安装替换了Mamp Pro服务器,用于我当前正在处理的网站。切换到Vagrant后,我的Gulp“监视”命令被卡在“启动”上。 Gulp无法正确处理以前一直在执行的任务是什么原因?
我的Gulpfile(在下面发布)没有更改,但是我确实将npm更新到最新版本(6.9.0)并重新安装了node_modules。
我当前的gulpfile:
'use strict';
// Development or production
const dev = ((process.env.NODE_ENV || 'development').trim().toLowerCase() === 'development');
// Paths
const paths = {
// Sass/Css
styles: {
src: 'sass/**/*.scss',
dest: '.'
},
// Javascript
scripts: {
src: ['js/*.js', '!js/theme.js', '!js/customizer.js'],
dest:'js/dist'
}
};
// Plugins
const gulp = require('gulp'),
// Styles
sass = require('gulp-sass'),
postcss = require('gulp-postcss'),
autoprefixer = require('autoprefixer'),
cssnano = require('cssnano'),
// Scripts
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
// Utility & stats
noop = require('gulp-noop'),
size = require('gulp-size'),
sourcemaps = dev ? require('gulp-sourcemaps') : null;
console.log('Gulp', dev ? 'development' : 'production', 'build');
// Node sass compiler
sass.compiler = require('node-sass');
// Style compiler
function style() {
return (
gulp
.src(paths.styles.src)
.pipe(sourcemaps ? sourcemaps.init() : noop())
// Output compact css file and log any errors
.pipe(sass({outputStyle: 'compact'})
.on('error', sass.logError))
// Css prefixer and css minification
.pipe(postcss([autoprefixer(), cssnano()]))
// Write sourcemaps
.pipe(sourcemaps ? sourcemaps.write() : noop())
// Show file sizes
.pipe(size({ showFiles:true }))
// Destination for css file
.pipe(gulp.dest(paths.styles.dest))
);
}
// Script compiler
function script() {
return (
gulp
.src(paths.scripts.src)
// Concat all JS files and place them in the dist folder
.pipe(concat('all.js'))
.pipe(gulp.dest(paths.scripts.dest))
// Uglify (minify) the JS file produced in the previous step
.pipe(uglify())
// Rename the uglified file
.pipe(rename({ suffix: '.min' }))
// Destination for minified js file
.pipe(gulp.dest(paths.scripts.dest))
)
}
function watch() {
// Sassy watcher
gulp.watch(paths.styles.src, style)
// Concat and uglify scripts
gulp.watch(paths.scripts.src, script)
}
exports.watch = watch;
npm -v
:6.9.0
Gulp -v
:CLI版本2.1.0,本地版本4.0.0
记录生产环境的控制台日志可以正常工作,但是初始化watch
任务(预期的[timestamp] Starting 'watch'...
以外的其他任务后,没有显示其他(/错误)消息。更改文件也不会在控制台中产生任何有用的日志。