rittenhop-ghost/versions/5.94.2/node_modules/express-hbs/test/apps/i18n/index.js

56 lines
1.2 KiB
JavaScript
Raw Normal View History

/**
* 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;