Grunt connect (grunt-contrib-connect) livereload: Fatal error: Port 8000 is already in use by another process
Grunt connect (grunt-contrib-connect) livereload: Fatal error: Port 8000 is already in use by another process
我将 grunt-contrib-watch
和 grunt-contrib-connect
设置为实时重新加载,如下所示:
watch: {
options: {
livereload: true,
},
files: ['src/**/*'],
tasks: ['serve']
},
connect: {
server: {
options: {
port: 8000,
base: './dist',
hostname: '0.0.0.0',
protocol: 'http',
livereload: true,
open: true,
}
}
},
但是当连接尝试重新加载时出现此错误:
Running "connect:server" (connect) task
Fatal error: Port 8000 is already in use by another process.
我尝试了几个不同的端口,但遇到了同样的问题。
我不明白 grunt-contrib-connect
服务器如何与其自己的端口发生冲突。
我怎样才能让它工作?
几个要求:
确保您没有在其他地方启动 localhost 8000。如果您在同一个端口上有两个本地服务器 运行,它将无法工作。 (检查终端中的其他选项卡)
确保以下内容在您的 html(与其他 js 一起位于底部)
<script src="//localhost:35729/livereload.js"></script>
然后尝试这样的事情:
connect: {
server: {
options: {
port: 8000,
hostname: 'localhost',
livereload: 35729,
open:{
target: "http://localhost:8000"
}
}
}
},
watch: {
options: {
livereload: true,
},
css: {
files: ['src/**/*'],
options: {
spawn: false,
},
},
html: {
files: ["**/*.html"]
}
},
然后,如果您不喜欢,可以设置一个任务:
grunt.registerTask("server", ["connect", "watch"]); // Type grunt server -- Creates a server and checks for any changes in the html/css
事实证明,serve
任务是我启动服务器的地方,所以它每次重新加载时都会尝试启动另一个服务器。我将其切换到 dev
任务,该任务重新编译了站点,但没有启动服务器。
可能是不同的情况,但无论我在 gruntfile 中设置哪个端口号,我都会收到完全相同的错误消息。结果发现问题是因为我将端口号定义为字符串而不是数字。
我将 grunt-contrib-watch
和 grunt-contrib-connect
设置为实时重新加载,如下所示:
watch: {
options: {
livereload: true,
},
files: ['src/**/*'],
tasks: ['serve']
},
connect: {
server: {
options: {
port: 8000,
base: './dist',
hostname: '0.0.0.0',
protocol: 'http',
livereload: true,
open: true,
}
}
},
但是当连接尝试重新加载时出现此错误:
Running "connect:server" (connect) task Fatal error: Port 8000 is already in use by another process.
我尝试了几个不同的端口,但遇到了同样的问题。
我不明白 grunt-contrib-connect
服务器如何与其自己的端口发生冲突。
我怎样才能让它工作?
几个要求:
确保您没有在其他地方启动 localhost 8000。如果您在同一个端口上有两个本地服务器 运行,它将无法工作。 (检查终端中的其他选项卡)
确保以下内容在您的 html(与其他 js 一起位于底部)
<script src="//localhost:35729/livereload.js"></script>
然后尝试这样的事情:
connect: {
server: {
options: {
port: 8000,
hostname: 'localhost',
livereload: 35729,
open:{
target: "http://localhost:8000"
}
}
}
},
watch: {
options: {
livereload: true,
},
css: {
files: ['src/**/*'],
options: {
spawn: false,
},
},
html: {
files: ["**/*.html"]
}
},
然后,如果您不喜欢,可以设置一个任务:
grunt.registerTask("server", ["connect", "watch"]); // Type grunt server -- Creates a server and checks for any changes in the html/css
事实证明,serve
任务是我启动服务器的地方,所以它每次重新加载时都会尝试启动另一个服务器。我将其切换到 dev
任务,该任务重新编译了站点,但没有启动服务器。
可能是不同的情况,但无论我在 gruntfile 中设置哪个端口号,我都会收到完全相同的错误消息。结果发现问题是因为我将端口号定义为字符串而不是数字。