我有一个使用webpack-simple模板创建的vue应用程序。
我想使用静态端口,所以我在文件webpack.config.js中的devServer属性中硬编码端口
devServer: {
historyApiFallback: true,
noInfo: true,
overlay: true,
port: 1123
},
我第一次运行npm run dev一切正常。在我使用ctrl+c
(在Windows中使用git bash)关闭进程并重试运行npm run dev时,会发生错误,告诉我该端口当前正在使用中。如果我第一次更改端口,那么它会重复相同的错误(一次又一次)。
我检查使用端口及其节点的进程。我不明白为什么节点在点击ctrl+c
之后会继续收听这些端口。
我的开发脚本:
"dev": "cross-env NODE_ENV=development webpack-dev-server --hot"
信息
OS: Windows
Terminal: Git Bash
Node: v9.5.0
NPM: v5.6.0
Webpack: 3.6.0
Webpack-Dev-Server: 2.9.1
答案 0 :(得分:0)
如果进程突然退出,则不会干净地关闭侦听服务器。节点进程终止,但操作系统保持端口打开(处于TIME_WAIT
状态)一段给定的时间,以允许数据包的队列为空(请参阅socket FAQ和{{3 }}。
在节点中,您可以尝试在exit
和uncaughtException
事件上关闭服务器来缓解此问题。请参阅此"2.7 Please explain the TIME_WAIT state."相关问题。