[英]Gulp / Node.js error: connect ECONNREFUSED
我目前正在使用WAMP運行本地服務器,我正在嘗試設置Gulp.js. 以下是我的gulpfile的內容:
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
autoprefixer = require('gulp-autoprefixer'),
minifycss = require('gulp-minify-css'),
minifyhtml = require('gulp-minify-html'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
imagemin = require('gulp-imagemin'),
rename = require('gulp-rename'),
clean = require('gulp-clean'),
concat = require('gulp-concat'),
notify = require('gulp-notify'),
cache = require('gulp-cache'),
livereload = require('gulp-livereload'),
lr = require('tiny-lr'),
server = lr();
gulp.task('styles', function() {
gulp.src('src/styles/main.scss')
.pipe(sass({ style: 'expanded' }))
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(gulp.dest('dist/assets/css'))
.pipe(rename({suffix: '.min'}))
.pipe(minifycss())
.pipe(gulp.dest('dist/css'))
.pipe(livereload(server))
.pipe(notify({ message: 'Styles task complete' }));
});
gulp.task('html', function() {
gulp.src('src/*.php')
.pipe(minifyhtml())
.pipe(gulp.dest('dist'))
.pipe(livereload(server))
.pipe(notify({ message: 'HTML task complete' }));
});
gulp.task('default', function() {
gulp.run('html');
});
這是我運行gulp
時得到的輸出:
[gulp] Using gulpfile C:\wamp\www\SawyerK\gulpfile.js
[gulp] Starting 'default'...
gulp.run() has been deprecated. Use task dependencies or gulp.watch task trigger
ing instead.
[gulp] Starting 'html'...
[gulp] Finished 'html' after 132 ms
[gulp] Finished 'default' after 134 ms
[gulp] gulp-notify: [Gulp notification] HTML task complete
events.js:72
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at errnoException (net.js:904:11)
at Object.afterConnect [as oncomplete] (net.js:895:19)
從我發現的,這個錯誤被拋出,因為其他東西正在使用Node想要的端口或類似的東西? 但是,我不完全確定這是否正確,我肯定不知道如何解決它。 有什么想法嗎? 謝謝!
編輯:我似乎已經縮小到gulp-notify,如果這有幫助
我認為問題是你在樣式任務和HTML中使用livereload兩次。 也許最好使用觀察者的livereload:
gulp.task('watch', function() {
var server = livereload();
gulp.watch('build/**').on('change', function(file) {
server.changed(file.path);
});
});
更新:對不起,錯了=)這是一篇很棒的文章,第二部分展示了如何使用監視任務。 鏈接要使用livereload,您需要使用listen方法啟動服務器。
你偶然在Windows上嗎? 我的開發團隊遇到了這個問題,它看起來在Windows 7+ gulp-notify上需要Growl。 :/
你可以在gulpforwindows.com下載exe,我相信你也需要重啟你的機器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.