2016-10-20 22:42:39 +03:00
|
|
|
const template = require('lodash.template');
|
|
|
|
const locale = require('locale');
|
2016-10-20 15:36:24 +03:00
|
|
|
const path = require('path');
|
|
|
|
const express = require('express');
|
|
|
|
const st = require('st');
|
2016-10-20 22:42:39 +03:00
|
|
|
const fs = require('fs');
|
2016-10-20 15:36:24 +03:00
|
|
|
|
|
|
|
const app = express();
|
|
|
|
|
2016-10-20 22:42:39 +03:00
|
|
|
const index = path.join(__dirname, './index.html');
|
|
|
|
const html = template(fs.readFileSync(index, 'utf-8'));
|
|
|
|
|
2016-10-20 15:36:24 +03:00
|
|
|
var mount = st({
|
|
|
|
path: path.join(__dirname, '../static'),
|
|
|
|
url: 'static/',
|
2016-10-20 22:42:39 +03:00
|
|
|
index: false,
|
2016-10-20 15:36:24 +03:00
|
|
|
dot: false,
|
|
|
|
passthrough: false,
|
|
|
|
gzip: true,
|
|
|
|
cors: false
|
|
|
|
});
|
|
|
|
|
|
|
|
app.use(mount);
|
2016-10-20 22:42:39 +03:00
|
|
|
app.use(locale(require('./locales')));
|
2016-10-20 15:36:24 +03:00
|
|
|
|
|
|
|
app.get('/*', (req, res, next) => {
|
2016-10-20 22:42:39 +03:00
|
|
|
const locale = (req.locale || '').toLowerCase();
|
|
|
|
const lang = locale.split(/\-/)[0];
|
|
|
|
|
|
|
|
res.header('Content-Type', 'text/html');
|
|
|
|
|
|
|
|
res.send(html({
|
|
|
|
locale,
|
|
|
|
lang
|
|
|
|
}));
|
2016-10-20 15:36:24 +03:00
|
|
|
});
|
|
|
|
|
|
|
|
app.listen(8000, (err, address) => {
|
|
|
|
if (err) {
|
|
|
|
throw err;
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log('Server running at: http://localhost:8000');
|
|
|
|
});
|