32 lines
903 B
JavaScript
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;
|