make webpack middleware into boot scripts
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
const webpackMiddleware = require('webpack-dev-middleware');
|
||||
const webpack = require('./helpers/webpack');
|
||||
const webpack = require('../../helpers/webpack');
|
||||
|
||||
const isProduction = (process.env.NODE_ENV === 'production');
|
||||
|
||||
module.exports = (params) => {
|
||||
if (isProduction || params.enabled !== true) return (req, res, next) => next();
|
||||
module.exports = (app) => {
|
||||
if (isProduction) return;
|
||||
|
||||
const middleware = webpackMiddleware(webpack.compiler, {
|
||||
publicPath: webpack.config.output.publicPath,
|
||||
@@ -19,5 +19,5 @@ module.exports = (params) => {
|
||||
},
|
||||
});
|
||||
|
||||
return (req, res, next) => middleware(req, res, next);
|
||||
app.use(middleware);
|
||||
};
|
||||
12
server/boot/dev/webpack-hmr.js
Normal file
12
server/boot/dev/webpack-hmr.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const webpackHotMiddleware = require('webpack-hot-middleware');
|
||||
const webpack = require('../../helpers/webpack');
|
||||
|
||||
const isProduction = (process.env.NODE_ENV === 'production');
|
||||
|
||||
module.exports = (app) => {
|
||||
if (isProduction) return;
|
||||
|
||||
const middleware = webpackHotMiddleware(webpack.compiler);
|
||||
|
||||
app.use(middleware);
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
const webpack = require('webpack');
|
||||
const config = require('../../config/webpack.dev');
|
||||
const config = require('../config/webpack.dev');
|
||||
|
||||
const compiler = webpack(config);
|
||||
|
||||
@@ -1,12 +1,4 @@
|
||||
{
|
||||
"routes:before": {
|
||||
"./middleware/webpack-dev": {
|
||||
"params": { "enabled": true }
|
||||
},
|
||||
"./middleware/webpack-hmr": {
|
||||
"params": { "enabled": true }
|
||||
}
|
||||
},
|
||||
"final:after": {
|
||||
"strong-error-handler": {
|
||||
"params": {
|
||||
|
||||
@@ -30,10 +30,6 @@
|
||||
"session": {},
|
||||
"auth": {},
|
||||
"parse": {},
|
||||
"routes:before": {
|
||||
"./middleware/webpack-dev": {},
|
||||
"./middleware/webpack-hmr": {}
|
||||
},
|
||||
"routes": {
|
||||
"loopback#rest": {
|
||||
"paths": [
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
const webpackHotMiddleware = require('webpack-hot-middleware');
|
||||
const webpack = require('./helpers/webpack');
|
||||
|
||||
const isProduction = (process.env.NODE_ENV === 'production');
|
||||
|
||||
module.exports = (params) => {
|
||||
if (isProduction || params.enabled !== true) return (req, res, next) => next();
|
||||
|
||||
const middleware = webpackHotMiddleware(webpack.compiler);
|
||||
|
||||
return (req, res, next) => middleware(req, res, next);
|
||||
};
|
||||
@@ -3,6 +3,13 @@ const loopback = require('loopback');
|
||||
const boot = require('loopback-boot');
|
||||
|
||||
const app = module.exports = loopback();
|
||||
const isProduction = (process.env.NODE_ENV === 'production');
|
||||
|
||||
const bootConfig = {
|
||||
appRootDir: __dirname,
|
||||
};
|
||||
|
||||
if (!isProduction) bootConfig.bootDirs = ['boot/dev'];
|
||||
|
||||
// start the webserver
|
||||
app.start = () => app.listen(() => {
|
||||
@@ -19,7 +26,7 @@ app.start = () => app.listen(() => {
|
||||
|
||||
// Bootstrap the application, configure models, datasources and middleware.
|
||||
// Sub-apps like REST API are mounted via boot scripts.
|
||||
boot(app, __dirname, (err) => {
|
||||
boot(app, bootConfig, (err) => {
|
||||
if (err) throw err;
|
||||
|
||||
// start the server if `$ node server.js`
|
||||
|
||||
Reference in New Issue
Block a user