namesny-com/src/server.js

50 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-07-15 14:52:09 +00:00
require('babel-register');
2017-11-01 17:31:50 +00:00
var app = new (require('express'))();
2017-07-15 14:52:09 +00:00
var port = process.env.PORT || 3000;
require('css-modules-require-hook')({
generateScopedName: '[name]__[local]___[hash:base64:5]'
2017-11-01 17:31:50 +00:00
});
var fs = require('fs');
var filename = './src/utils/data.json';
var dataStub = {"posts": []};
fs.writeFileSync(filename, JSON.stringify(dataStub));
2017-07-15 14:52:09 +00:00
2017-04-09 19:09:27 +00:00
2017-07-15 14:52:09 +00:00
// initalize webpack dev middleware if in development context
if (process.env.NODE_ENV === 'development') {
var webpack = require('webpack')
var config = require('../webpack.config')
var devMiddleware = require('webpack-dev-middleware')
var hotDevMiddleware = require('webpack-hot-middleware')
var compiler = webpack(config)
var devMiddlewareConfig = {
noInfo: true,
stats: {colors: true},
publicPath: config.output.publicPath
2017-04-09 19:09:27 +00:00
}
2017-07-15 14:52:09 +00:00
app.use(devMiddleware(compiler, devMiddlewareConfig))
app.use(hotDevMiddleware(compiler))
}
2017-11-09 20:51:04 +00:00
app.use(require('express').static('public'));
require('./utils/scanner')();
2017-07-15 14:52:09 +00:00
2017-10-27 12:37:12 +00:00
var api = require('./utils/api');
2017-11-09 20:51:04 +00:00
app.use("/api", api);
2017-10-27 13:39:38 +00:00
2017-11-09 20:51:04 +00:00
var serverRender = require('./utils/serverRender');
app.get("*", serverRender);
2017-04-09 19:09:27 +00:00
2017-07-15 14:52:09 +00:00
app.listen(port, function(error) {
if (error) {
2017-11-09 20:51:04 +00:00
console.error(error);
2017-07-15 14:52:09 +00:00
} else {
2017-11-09 20:51:04 +00:00
console.info("[Server] Listening on port %s", port);
2017-04-09 19:09:27 +00:00
}
2017-07-15 14:52:09 +00:00
})