| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- const express = require('express');
- const webpack = require('webpack');
- const path = require('path');
- const webpackConfig = require('../webpack.config');
- const __DEV__ = process.env.NODE_ENV === 'development';
- function healthEndpoint(app) {
- app.get('/health', (req, res) => {
- res.send('OK');
- });
- return app;
- }
- function setupDevServer(app) {
- if (!__DEV__) {
- return app;
- }
- const compiler = webpack(webpackConfig);
- const serverOptions = {
- quiet: true,
- publicPath: webpackConfig.output.publicPath,
- hot: true
- };
- // eslint-disable-next-line global-require
- app.use(require('webpack-dev-middleware')(compiler, serverOptions));
- // eslint-disable-next-line global-require
- app.use(require('webpack-hot-middleware')(compiler));
- return app;
- }
- function clientRoute(app) {
- app.use(express.static(path.resolve(__dirname, '../static')));
- return app;
- }
- function run() {
- const app = express();
- healthEndpoint(app);
- setupDevServer(app);
- clientRoute(app);
- const port = process.env.PORT || 3000;
- app.listen(port, () => {
- console.log('Listening on port', port);
- });
- }
- module.exports = {
- run
- };
|