var argv = require('yargs').argv; var express = require('express'); var compression = require('compression'); var baseUrl = (function () { var baseUrl = process.env.ONION_BASE_URL || '/'; return baseUrl + (baseUrl.match(/\/$/) ? '' : '/'); })(); var app = express(); app.use(compression()); app.use(baseUrl + 'static/js', express.static(__dirname + '/build/js')); app.use(baseUrl + 'static/img', express.static(__dirname + '/build/img')); app.use(baseUrl + 'static/css', express.static(__dirname + '/build/css')); app.use(baseUrl + 'static/fonts', express.static(__dirname + '/build/fonts')); app.use(baseUrl + 'static/thirdparty', express.static(__dirname + '/node_modules')); app.get(/.*/, function(req, res) { console.log('%s %s', req.method, req.path); res.sendFile(__dirname + '/build/index.html'); }); if (require.main === module) { var port = process.env.PORT || 4000; console.log('Starting Onion server on port', port, 'baseUrl is set to', baseUrl); app.listen(port); } module.exports.app = app;