make webpack middleware into boot scripts
This commit is contained in:
@@ -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);
|
||||||
};
|
};
|
||||||
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 webpack = require('webpack');
|
||||||
const config = require('../../config/webpack.dev');
|
const config = require('../config/webpack.dev');
|
||||||
|
|
||||||
const compiler = webpack(config);
|
const compiler = webpack(config);
|
||||||
|
|
||||||
@@ -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": {
|
||||||
|
|||||||
@@ -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": [
|
||||||
|
|||||||
@@ -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 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`
|
||||||
|
|||||||
Reference in New Issue
Block a user