У меня действительно простая конфигурация 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 только для промежуточного программного обеспечения, как предложено в этого ответа , на самом деле не работает для меня.)