cobuild-angular-stack
Version:
Base stack angular sass jade gulp
71 lines (60 loc) • 2.26 kB
JavaScript
/**
* Created by garusis on 5/03/16.
*/
;
var express = require('express');
var app = express();
var fs = require('fs');
var https = require('https');
var compression = require('compression');
var auth = require("http-auth");
var digest = auth.digest({
realm: "Private area",
file: __dirname + "/htpasswd"
});
var oneDay = 86400000;
var env = {
isProduction: process.env.NODE_ENV === 'production',
isStaging: process.env.NODE_ENV === 'staging',
isDeveloment: process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'dev',
isLocal: process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'staging' && process.env.NODE_ENV !== 'development'&& process.env.NODE_ENV !== 'dev'
};
var workDir = 'public';
if (env.isProduction) {
workDir = 'production';
} else if (env.isStaging) {
workDir = 'staging';
}
app.use(compression());
//if (env.isProduction) {
//app.use(require('prerender-node').set('prerenderToken', 'nxU1nVBuqRbWGQ0iPMzJ'));
app.use(require('prerender-node').set('prerenderServiceUrl','http://uniko_prerender:3423s8da6hsd3epsda@uniko-production-prerender.herokuapp.com'));
//}
app.use('/googleb29740f74d062747.html', express.static(`${workDir}/googleb29740f74d062747.html`));
app.use('/index.html', express.static(`${workDir}/index.html`));
if (env.isLocal) {
app.use(express.static(workDir));
} else {
app.use(express.static(workDir, {maxAge: oneDay}));
}
//app.use(express.static(workDir));
if (process.env.HTTP_AUTH) {
app.use(auth.connect(digest));
}
app.all('/*', function (req, res, next) {
// Just send the index.html for other files to support HTML5Mode
res.sendFile(`${workDir}/index.html`, {root: __dirname});
});
if (env.isLocal) {
https.createServer({
key: fs.readFileSync('ssl/uniko.key'),
ca: [fs.readFileSync('ssl/IntermediateCA.cer')],
cert: fs.readFileSync('ssl/ssl_certificate.cer')
}, app).listen(process.env.PORT || 4000, function () {
console.log('Uniko listening on https://0.0.0.0:' + (process.env.PORT || 4000));
});
} else {
app.listen(process.env.PORT || 4000, function () {
console.log('Uniko listening on https://0.0.0.0:' + (process.env.PORT || 4000));
});
}