1
1
mirror of https://github.com/aelve/guide.git synced 2024-12-23 21:02:13 +03:00

Extract express config #167

This commit is contained in:
Jens Krause 2017-07-04 19:35:08 +02:00
parent b836a16b05
commit 10e31a82ea
No known key found for this signature in database
GPG Key ID: 3B2FAFBCEFA5906D
2 changed files with 40 additions and 39 deletions

38
front-ps/server.js Normal file
View File

@ -0,0 +1,38 @@
var path = require('path');
const spawn = require('child_process').spawn
var webpack = require('webpack');
var express = require('express');
var config = require('./webpack.config.client');
const port = 8080;
const compiler = webpack(require('./webpack.config.server.js'))
const client = webpack(config);
let server = null;
const app = require('express')();
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(require('webpack-dev-middleware')(client, {
noInfo: true,
publicPath: config.output.publicPath
}));
app.use(require('webpack-hot-middleware')(client));
app.listen(8080);
console.log('Compiling...')
compiler.watch({
aggregateTimeout: 300,
poll: undefined
}, (err, stats) => {
if (err) return console.error(err)
if (server && !stats.hasErrors()) {
server.kill('SIGKILL')
server = spawn('node', ['./dist/server.js']);
} else {
server = spawn('node', ['./dist/server.js']);
}
})

View File

@ -23,7 +23,7 @@ if (isProd) {
})
)
} else {
entries.unshift('webpack-hot-middleware/client?path=http://localhost:8080/__webpack_hmr&reload=true');
entries.unshift(`webpack-hot-middleware/client?path=http://localhost:8080/__webpack_hmr&reload=true`);
plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin()
@ -87,41 +87,4 @@ const config = {
chunkModules: false
}
}
// If this file is directly run with node, start the development server
// instead of exporting the webpack config.
if (require.main === module) {
const compiler = webpack(require('./webpack.config.server.js'))
const client = webpack(config);
let server = null;
const app = require('express')();
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(require('webpack-dev-middleware')(client, {
noInfo: true,
publicPath: config.output.publicPath
}));
app.use(require('webpack-hot-middleware')(client));
app.listen(8080);
console.log('Compiling...')
compiler.watch({
aggregateTimeout: 300,
poll: undefined
}, (err, stats) => {
if (err) return console.error(err)
if (server && !stats.hasErrors()) {
server.kill('SIGKILL')
server = spawn('node', ['./dist/server.js']);
} else {
server = spawn('node', ['./dist/server.js']);
}
})
} else {
module.exports = config
}