在两个项目中运行gulp-livereload + tiny-lr,我只在最后一个项目中出错,当我使用相同的gulpfile.js时,尝试每次只运行一次,但没有工作,只有我的上一个项目得到了错误:
... Uhoh. Got error listen EADDRINUSE ...
Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at Server.listen (/var/www/havikhunting/node_modules/gulp-livereload/node_modules/tiny-lr/lib/server.js:138:15)
at Function.exports.listen (/var/www/havikhunting/node_modules/gulp-livereload/gulp-livereload.js:68:12)
at Function.exports.changed (/var/www/havikhunting/node_modules/gulp-livereload/gulp-livereload.js:88:20)
at Transform.reload._transform (/var/www/havikhunting/node_modules/gulp-livereload/gulp-livereload.js:24:13)
at Transform._read (_stream_transform.js:179:10)
at Transform._write (_stream_transform.js:167:12)
[gulp] Starting 'compileStyles'...
[gulp] Finished 'compileStyles' after 52 ms
[15:06:10] gulp-ruby-sass: directory
[15:06:11] gulp-ruby-sass: error ./style.scss (Line 1: File to import not found or unreadable: ../partials/base.
Load path: /tmp/gulp-ruby-sass)
my gulpfile:
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
minifycss = require('gulp-minify-css'),
refresh = require('gulp-livereload'),
server = require('tiny-lr')();
gulp.task('default', function() {
// Tarefas
});
gulp.task('compileStyles', function() {
gulp.src('public/assets/css/style.scss')
.pipe(sass({
noCache : true,
precision : 4,
unixNewlines : true
}))
.pipe(minifycss())
.pipe(gulp.dest('public/assets/css'))
.pipe(refresh(server));
});
gulp.task('watch', function() {
server.listen(35729, function( err ) {
if ( err ) { return console.log( err ); }
gulp.watch('public/assets/css/**/*.{sass,scss}', [
'compileStyles'
]);
});
});
答案 0 :(得分:1)
错误消息显示livereload服务器无法加载,因为该地址已被使用。
您是否同时运行项目?为此,您需要将两个livereload服务器放在不同的端口上。您可以通过在其中一个gulp文件中将35729
更改为35728
来配置它。
根据浏览器的设置方式,您可能需要调整其设置。试试看,它可能没问题。
答案 1 :(得分:0)
使用以下方法检查正在侦听该端口的进程:
fuser port_no/tcp
然后使用
终止该进程kill -9 pid