summaryrefslogtreecommitdiffstats
path: root/front/odiparpack/server/middlewares/addDevMiddlewares.js
diff options
context:
space:
mode:
authorDayana31 <[email protected]>2022-04-21 17:27:08 -0500
committerDayana31 <[email protected]>2022-04-21 17:27:08 -0500
commit67c50667678dd0ce4709b29a854f6a47093a1ac5 (patch)
treeb6f9f39092ad54bf6b815984d32b37d7c7ca67ab /front/odiparpack/server/middlewares/addDevMiddlewares.js
parent91140b24f0d49a9f89a080ee063e9eb023a4b73a (diff)
parente13e630cd6e4fc0b1ff92098a28a770794c7bb9a (diff)
downloadDP1_project-67c50667678dd0ce4709b29a854f6a47093a1ac5.tar.gz
DP1_project-67c50667678dd0ce4709b29a854f6a47093a1ac5.tar.bz2
DP1_project-67c50667678dd0ce4709b29a854f6a47093a1ac5.zip
Merge branch 'gabshr' into dayana
Diffstat (limited to 'front/odiparpack/server/middlewares/addDevMiddlewares.js')
-rw-r--r--front/odiparpack/server/middlewares/addDevMiddlewares.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/front/odiparpack/server/middlewares/addDevMiddlewares.js b/front/odiparpack/server/middlewares/addDevMiddlewares.js
new file mode 100644
index 0000000..495b4a2
--- /dev/null
+++ b/front/odiparpack/server/middlewares/addDevMiddlewares.js
@@ -0,0 +1,38 @@
+const path = require('path');
+const webpack = require('webpack');
+const webpackDevMiddleware = require('webpack-dev-middleware');
+const webpackHotMiddleware = require('webpack-hot-middleware');
+
+function createWebpackMiddleware(compiler, publicPath) {
+ return webpackDevMiddleware(compiler, {
+ logLevel: 'warn',
+ publicPath,
+ silent: true,
+ stats: 'errors-only',
+ });
+}
+
+module.exports = function addDevMiddlewares(app, webpackConfig) {
+ const compiler = webpack(webpackConfig);
+ const middleware = createWebpackMiddleware(
+ compiler,
+ webpackConfig.output.publicPath,
+ );
+
+ app.use(middleware);
+ app.use(webpackHotMiddleware(compiler));
+
+ // Since webpackDevMiddleware uses memory-fs internally to store build
+ // artifacts, we use it instead
+ const fs = middleware.fileSystem;
+
+ app.get('*', (req, res) => {
+ fs.readFile(path.join(compiler.outputPath, 'index.html'), (err, file) => {
+ if (err) {
+ res.sendStatus(404);
+ } else {
+ res.send(file.toString());
+ }
+ });
+ });
+};