56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
|
/**
|
||
|
* This example is intended to show a cookie usage in express setup
|
||
|
* with handlebars (hbs) template engine and also to be run
|
||
|
* as integration test for concurrency issues.
|
||
|
*
|
||
|
* Please remove setTimeout(), if you intend to use it as a blueprint!
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
|
||
|
function create(hbs, env) {
|
||
|
'use strict';
|
||
|
|
||
|
if (env) process.env.NODE_ENV = env;
|
||
|
|
||
|
var express = require('express');
|
||
|
var cookieParser = require('cookie-parser');
|
||
|
var app = express();
|
||
|
var fs = require('fs');
|
||
|
var path = require('path');
|
||
|
var viewsDir = __dirname + '/views';
|
||
|
var i18n = require('i18n');
|
||
|
var url = require('url');
|
||
|
|
||
|
// minimal config
|
||
|
i18n.configure({
|
||
|
locales: ['en', 'fr'],
|
||
|
cookie: 'locale',
|
||
|
directory: __dirname + '/locales'
|
||
|
});
|
||
|
|
||
|
// Hook in express-hbs and tell it where known directories reside
|
||
|
app.engine('hbs', hbs.express3({
|
||
|
i18n: i18n,
|
||
|
restrictLayoutsTo: viewsDir
|
||
|
}));
|
||
|
app.set('view engine', 'hbs');
|
||
|
app.set('views', viewsDir);
|
||
|
|
||
|
// you'll need cookies
|
||
|
app.use(cookieParser());
|
||
|
|
||
|
// init i18n module for this loop
|
||
|
app.use(i18n.init);
|
||
|
|
||
|
app.get('/', function (req, res) {
|
||
|
res.render('index', {
|
||
|
array: [1, 2]
|
||
|
});
|
||
|
});
|
||
|
|
||
|
return app;
|
||
|
}
|
||
|
|
||
|
exports.create = create;
|