Files
payload/src/webpack/init.js

32 lines
903 B
JavaScript

const webpack = require('webpack');
const express = require('express');
const webpackDevMiddleware = require('webpack-dev-middleware');
const webpackHotMiddleware = require('webpack-hot-middleware');
const getWebpackDevConfig = require('./getWebpackDevConfig');
const router = express.Router();
const initWebpack = (config) => {
const webpackDevConfig = getWebpackDevConfig(config);
const compiler = webpack(webpackDevConfig);
router.use(webpackDevMiddleware(compiler, {
publicPath: webpackDevConfig.output.publicPath,
}));
router.use(webpackHotMiddleware(compiler));
router.get(`${config.routes.admin}*`, (req, res, next) => {
compiler.outputFileSystem.readFile('/index.html', (err, result) => {
if (err) {
return next(err);
}
return res.set('content-type', 'text/html').send(result);
});
});
return router;
};
module.exports = initWebpack;