Webpack-dev-middleware не обслуживает некоторые типы файлов из файловой системы в памяти с правильными типами MIME. Is правильно обслуживает пакеты .js и активы .css, но отправляет изображения в виде текста / html
Я использую следующие версии пакетов:
{
"express": "^4.17.1",
"webpack-dev-middleware": "^3.7.0",
"webpack-dev-server": "^3.7.2",
"webpack-hot-middleware": "^2.25.0"
}
node.js v12.13.0
Моя ветвь разработки сервера выглядит следующим образом:
const webpack = require('webpack');
const config = require('../webpack.config');
const compiler = webpack(config);
server.use(require('webpack-dev-middleware')(compiler, {
filename: config.output.filename,
publicPath: config.output.publicPath,
HotModuleReplacement: true
}));
server.use(require('webpack-hot-middleware')(compiler));
server.get('*', (req, res) => {
const indexFile = path.resolve(compiler.outputPath, 'index.html');
compiler.outputFileSystem.readFile(indexFile, (err, result) => {
if (err) console.log(err);
res.end(result);
});
});
Итак, в основном я попробовал этот глупый подход с outputFilesystem
, и мне не особенно нравится идея повторной реализации Express.
Как я пришел к выводу, чтоон даже отправляет Изображения
Статическое изображение, которое подается из памяти через webpack-hot-middleware, должно иметь тип mime, соответствующий его расширению.
Но на самом деле не-css /js и кто знает, какие еще ресурсы обслуживаются с помощью mime-типа text / html.