如何停止 webpack-dev-server?

4
有人知道如何停止webpack-dev-server吗?我已经尝试使用Ctrl+CCtrl+Z,但无论我按一次还是两次都不起作用。此外,即使我关闭命令行界面,它仍然在运行。而且,即使我改变了服务器端口,之前的服务器端口仍然在工作。因此,每次关闭CLI或想要在webpack.config.js中更改一些参数时,我都必须更改服务器端口。
这是我的webpack.config.js:

const path = require('path');
const HtmlWebpackPlugin = require("html-webpack-plugin");
const webpack = require('webpack');
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
 entry: {
  main: './src/main.js'
 },
 output: {
  path: path.resolve(__dirname, 'dist'),
  filename: 'bundle.js',
 },
 devtool: false,
 module: {
  rules: [{
   test: /\.css$/,
   use: ExtractTextPlugin.extract({
    fallback: "style-loader",
    use: "css-loader"
  })},{
   test: /\.(js|jsx)?$/,
   use: ['babel-loader'],
   exclude: /node_modules/
  }]
 },
 devServer: {
  contentBase: './dist',
  hot: true,
  port: 8088,
 },
 plugins: [
  new HtmlWebpackPlugin({
   title: "Hello React",
   template: "template.html",
  }),
  new webpack.HotModuleReplacementPlugin(),
  new ExtractTextPlugin("style.bundle.css")
 ]
};

这里是我的package.json文件

{
  "name": "react-test",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js",
    "start": "webpack-dev-server --config webpack.config.js",
    "produce": "webpack -p --config webpack.config.js"
  },
  "author": "dongxu <dongxu2048@gmail.com>",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.1.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "css-loader": "^0.28.4",
    "html-webpack-plugin": "^2.29.0",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-hot-loader": "^1.3.1",
    "style-loader": "^0.18.2",
    "webpack": "^3.4.1",
    "webpack-dev-server": "^2.6.1"
  }
}

此外,还有我的控制台窗口:输入图像描述 如您所见,我按了两次 Ctrl + C,然后更改了文件内容,webpack-dev-server 再次编译,通过刷新浏览器仍然可以看到内容。

1
我在使用各种平台时都尝试使用Ctrl+C来停止它,但总是失败。肯定还有其他问题。 - rossipedia
你能否在尝试使用 Ctrl + C 时发布您的控制台截图? - FuriousD
按下'q'键有帮助吗? - manish kumar
4个回答

2
在Linux上,尝试使用Ctrl+\。对我来说,在编译时使用Ctrl+C可以工作,但需要很长时间才能停止(并不断地输出进度%),而Ctrl+\会立即让webpack-dev-server(3.10.1)静默。
Ctrl+\发送SIGQUIT到当前前台作业。它的原始目的是调试-终止程序并将其内存转储到一个core文件中,但现在许多系统都禁用了保存。它往往比Ctrl+C SIGINT更“暴力”,因为几乎没有程序捕获SIGQUIT。
最新的未解决问题似乎是https://github.com/webpack/webpack-dev-server/issues/1479 注意:与其他终止解决方案一样,它不允许服务器进行清理,正如某个问题中提到的:

你立即杀死进程,但此时有人/某些人可以将文件写入fs或执行其他异步调用,这很糟糕。


2

如果您知道进程的名称,可以使用命令来终止进程。我只是使用"Ctrl + c"两次停止了webpack-dev-server。


1

有人知道如何停止webpack-dev-server吗?

打开任务管理器,关闭任务 Node.js: Server-side JavaScript


0
"start": "webpack-dev-server --inline --progress --port 8088"

将其用作内联可能会有所帮助。

它在根目录中搜索配置文件。因此,仅当配置文件深埋在目录中时,最好使用--config。


1
当您有多个webpack配置取决于应用程序环境时,使用或配置非常有用。 - Disfigure

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接