Почему я вижу ошибку `Cannot GET` при использовании webpack-dev-middleware, когда она работает с использованием webpack-dev-server? - PullRequest
0 голосов
/ 16 октября 2018

У меня действительно простая конфигурация Webpack:

const path = require('path');

module.exports = {
  entry: path.resolve(__dirname, 'index.js'),
  mode: 'development',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  }
};

Когда я запускаю webpack-dev-server, все работает нормально.Однако, когда я пытаюсь запустить dev-сервер с помощью webpack-dev-middleware, я получаю Cannot GET <path>.Это конфигурация, которую я использую:

const express = require("express");
const webpackDevMiddleware = require("webpack-dev-middleware");
const webpack = require("webpack");

const webpackConfig = require('webpack.config.js');

const app = express();
const compiler = webpack(webpackConfig);

app.use(webpackDevMiddleware(compiler));

this.server = app.listen(3000);

Я также попытался добавить следующее к моим webpack.config.js, согласно этим инструкциям , но это не помогло:

  devServer: {
    contentBase: path.resolve(__dirname),
  },

Что вызывает несоответствие между обычным dev-сервером и промежуточным программным обеспечением?Почему мой index.html обслуживается при использовании webpack-dev-server, но не при использовании промежуточного программного обеспечения?

(Примечание: для меня важно поддерживать синхронизацию между промежуточным программным обеспечением и сервером, поэтомудобавление html-webpack-loader только для промежуточного программного обеспечения, как предложено в этого ответа , на самом деле не работает для меня.)

...