簡體   English   中英

Gulp / Node.js錯誤:連接ECONNREFUSED

[英]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,我相信你也需要重啟你的機器。

https://github.com/mikaelbr/gulp-notify/issues/30

https://github.com/mikaelbr/gulp-notify#requirements

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM