我正在使用NodeJS,我正在使用gulp。
我的foler是这样的:
Root
dist
node_modules
src
index.html
gulpfile.js
package.json我的gulpfile是:
"use strict";
var gulp = require('gulp');
var connect = require('gulp-connect'); // runs a local dev server
var open = require('gulp-open'); // open a URL in a web browser
var config ={
port : 3000,
devBaseUrl : 'http://localhost',
paths:{
html:'./src/*.html',
dist:'./dist'
}
}
//Start a local development server
gulp.task = ('connect' , function(){
connect.server({
root:['dist'],
port: config.port,
base: config.devBaseUrl,
});
});
gulp.task('open', ['connect'], function(){
gulp.src('dist/index.html').pipe(open({uri: config.devBaseUrl + ":" + config.port + '/'}))
});
gulp.task('html',function(){
gulp.src(config.paths.html)
.pipe(gulp.dest(config.paths.dist))
.pipe(connect.reload());
});
gulp.task('default', ['html', 'open']);当我在cmd中输入'gulp‘时,我得到了这个错误:
C:\Users\maor\Documents\NodeProject\2>gulp
[13:18:28] Using gulpfile ~\Documents\NodeProject\2\gulpfile.js
[13:18:28] Server started http://localhost:3000
events.js:160
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3000
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at Server._listen2 (net.js:1262:14)
at listen (net.js:1298:10)
at Server.listen (net.js:1394:5)
at ConnectApp.server (C:\Users\maor\Documents\NodeProject\2\node_modules\gulp-connect\index.js:57:19)
at new ConnectApp (C:\Users\maor\Documents\NodeProject\2\node_modules\gulp-connect\index.js:37:10)
at Object.server (C:\Users\maor\Documents\NodeProject\2\node_modules\gulp-connect\index.js:170:12)
at Gulp.gulp.task (C:\Users\maor\Documents\NodeProject\2\gulpfile.js:18:10)
at Object.<anonymous> (C:\Users\maor\Documents\NodeProject\2\gulpfile.js:29:6)我真的不知道是什么问题,我已经检查过了,端口: 3000是空闲的。你们能帮我弄清楚问题出在哪里吗?
发布于 2017-03-22 20:12:17
您是否正在运行可能正在使用端口3000的任何其他应用程序?
node的前一个实例可能仍在运行,即使您打算终止它。检查你的进程,我有时会遇到这个问题,通常使用
killall node来解决它。
发布于 2017-03-22 20:11:43
当节点进程已经在端口上运行时,就会出现这个问题。
您可以通过以下方式修复它
pkill节点
或者你可以使用这个
killall节点
您仍然可以使用以下命令查看节点进程: ps aux | grep node。
如果您使用的是windows,则打开任务管理器&在进程选项卡中,搜索节点并右键单击进程&结束进程。
它肯定会奏效的。
发布于 2017-03-22 20:28:58
或者更好的是,您可以将端口号更改为其他值,如8000。
https://stackoverflow.com/questions/42951105
复制相似问题