首页 > 解决方案 > webpack-dev-server 以状态码 1 退出

问题描述

我有三个文件 webpack.config.base、webpack.config.dev、webpack.config.prod 和各自的代码:

** webpack.config.base**

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

const parentDir = path.join(__dirname, '../');

module.exports = {
  entry: [
    path.join(parentDir, 'index.js'),
  ],
  resolve: {
    extensions: ['.js', '.jsx', '.json'],
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
      },
      {
        test: /\.(png|jpg|jpeg|gif|svg|woff|woff2)$/,
        use: [
          {
            loader: 'image-webpack-loader',
            options: {
              bypassOnDebug: true,
            },
          },
          'url-loader?limit=10000',
        ],
      },
      {
        test: /\.scss$/,
        loader: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: ['css-loader', 'sass-loader'],
        }),
      },
    ],
  },
  output: {
    path: `${parentDir}/dist`,
    filename: 'bundle.js',
  },
  plugins: [
    new ExtractTextPlugin({
      filename: 'main.css',
    }),
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
    }),
    new webpack.optimize.OccurrenceOrderPlugin(),
    new webpack.NoEmitOnErrorsPlugin(),
  ],
};

** webpack.config.dev**

    const webpack = require('webpack');
const merge = require('webpack-merge');
const path = require('path');

const parentDir = path.join(__dirname, '../');
const config = require('./webpack.config.base.js');

module.exports = merge(config, {

  devServer: {
    inline: true,
    colors: true,
    progress: true,
    hot: true,
    open: true,
    bail: true,
    quiet: true,
    contentBase: parentDir,
    port: 7070,
    historyApiFallback: true,
  },

  plugins: [
    new webpack.HotModuleReplacementPlugin(),
  ],
});

生产:

const webpack = require('webpack');

const config = require('./webpack.config.base.js');

config.plugins = config.plugins.concat([
  new webpack.optimize.DedupePlugin(),
  new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
  new webpack.DefinePlugin({
    'process.env.NODE_ENV': JSON.stringify('production'),
  }),
]);

module.exports = config;

package.json 中的脚本是

 "dev": "./node_modules/.bin/webpack-dev-server --mode development --config ./webpack/webpack.config.dev.js",

在使用 npm run dev webpack dev 服务器退出时,状态码为 1。谁能告诉我哪里错了?我使用的版本是:

"webpack": "^4.6.0",
"webpack-cli": "^2.1.2",
"webpack-dev-server": "^3.1.4"

错误:

提前致谢。我已经尝试在单个文件中使用它并且它运行良好,但是当像这样分成三个不同的文件时,它会产生这个错误。所有这些文件都在根目录的 webpack 文件夹中。

标签: reactjsnpmwebpackwebpack-dev-serverpackage.json

解决方案


这三个选项造成了一个问题:

bail: true,
quiet: true,
colors: true

我删除了,现在工作正常。如果有人可以更新为什么会这样,将有助于进一步理解。


推荐阅读