Я просмотрел все подобные посты (их много), но все безрезультатно.
У меня есть экспресс-приложение, созданное с использованием Keystone CMS.Я пытаюсь интегрировать реагирующий интерфейс.Я могу успешно получить веб-пакет для создания своего jsx-файла, и все работает хорошо, пока я не начну пытаться связать функциональность «Горячая загрузка модуля».
Я подражал проекту 'ultimate-hot-reloading-example'в меру своих способностей (что работает ОТЛИЧНО).Я получаю успешную сборку и не вижу ошибок в консоли, но я получаю ошибку 404 при загрузке страницы при загрузке файла bundle.js.
Я перепробовал все, что мог придумать.
Что я делаю не так?
webpack.config:
const config = {
mode: process.env.NODE_ENV,
devtool: '#eval-source-map',
entry: [
'webpack-hot-middleware/client',
'./client/index.jsx'
],
output: {
path: path.join(__dirname, '/public/js'),
filename: 'bundle.js',
publicPath: './public/js/'
},
plugins: [
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin()
],
resolve: {
extensions: ['.js'],
alias: {
request: 'browser-request'
}
},
module: {
rules: [
// Javascript
{
test: /\.jsx$/,
loader: 'babel-loader',
include: path.join(__dirname, 'client'),
query: {
"env": {
"development": {
"plugins": ["react-hot-loader/babel"],
}
},
}
}
]
}
};
keystone.js (файл сервера)
var app = keystone.express();
app.use(
webpackDevMiddleware(compiler, {
noInfo: true,
publicPath: webpackConfig.output.publicPath
})
);
app.use(webpackHotMiddleware(compiler));
Моя единственная оставленная мысль - я как-то не даю правильный публичный путь.Тем не менее, я попробовал все варианты здесь, которые приходили на ум ... Помощь очень ценится.