make webpack middleware into boot scripts

This commit is contained in:
2017-01-22 14:05:55 -07:00
parent 88b860958b
commit 7eac56f092
7 changed files with 25 additions and 30 deletions

View File

@@ -1,10 +1,10 @@
const webpackMiddleware = require('webpack-dev-middleware'); const webpackMiddleware = require('webpack-dev-middleware');
const webpack = require('./helpers/webpack'); const webpack = require('../../helpers/webpack');
const isProduction = (process.env.NODE_ENV === 'production'); const isProduction = (process.env.NODE_ENV === 'production');
module.exports = (params) => { module.exports = (app) => {
if (isProduction || params.enabled !== true) return (req, res, next) => next(); if (isProduction) return;
const middleware = webpackMiddleware(webpack.compiler, { const middleware = webpackMiddleware(webpack.compiler, {
publicPath: webpack.config.output.publicPath, publicPath: webpack.config.output.publicPath,
@@ -19,5 +19,5 @@ module.exports = (params) => {
}, },
}); });
return (req, res, next) => middleware(req, res, next); app.use(middleware);
}; };

View 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);
};

View File

@@ -1,5 +1,5 @@
const webpack = require('webpack'); const webpack = require('webpack');
const config = require('../../config/webpack.dev'); const config = require('../config/webpack.dev');
const compiler = webpack(config); const compiler = webpack(config);

View File

@@ -1,12 +1,4 @@
{ {
"routes:before": {
"./middleware/webpack-dev": {
"params": { "enabled": true }
},
"./middleware/webpack-hmr": {
"params": { "enabled": true }
}
},
"final:after": { "final:after": {
"strong-error-handler": { "strong-error-handler": {
"params": { "params": {

View File

@@ -30,10 +30,6 @@
"session": {}, "session": {},
"auth": {}, "auth": {},
"parse": {}, "parse": {},
"routes:before": {
"./middleware/webpack-dev": {},
"./middleware/webpack-hmr": {}
},
"routes": { "routes": {
"loopback#rest": { "loopback#rest": {
"paths": [ "paths": [

View File

@@ -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);
};

View File

@@ -3,6 +3,13 @@ const loopback = require('loopback');
const boot = require('loopback-boot'); const boot = require('loopback-boot');
const app = module.exports = loopback(); 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 // start the webserver
app.start = () => app.listen(() => { app.start = () => app.listen(() => {
@@ -19,7 +26,7 @@ app.start = () => app.listen(() => {
// Bootstrap the application, configure models, datasources and middleware. // Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts. // Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, (err) => { boot(app, bootConfig, (err) => {
if (err) throw err; if (err) throw err;
// start the server if `$ node server.js` // start the server if `$ node server.js`