Skip to content

Commit 39067d5

Browse files
committed
Fixed issues with Express 4.0 integration
1 parent 81380d4 commit 39067d5

File tree

4 files changed

+56
-61
lines changed

4 files changed

+56
-61
lines changed

templates/common/_package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"errorhandler": "~1.0.0",
1313
"lodash": "~2.4.1"<% if (mongo) { %>,
1414
"mongoose": "~3.8.8"<% } %><% if (mongoPassportUser) { %>,
15-
"connect-mongo": "~0.4.0",
15+
"connect-mongo": "mrzepinski/connect-mongo#2135988",
1616
"passport": "~0.2.0",
1717
"passport-local": "~0.1.6"<% } %><% if (jade) { %>,
1818
"jade": "~1.2.0"<% } %><% if (!jade) { %>,

templates/express/config/express.js

Lines changed: 49 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
var express = require('express'),
44
favicon = require('static-favicon'),
55
morgan = require('morgan'),
6+
compression = require('compression'),
67
bodyParser = require('body-parser'),
78
methodOverride = require('method-override'),
89
cookieParser = require('cookie-parser'),
@@ -17,59 +18,60 @@ var express = require('express'),
1718
* Express configuration
1819
*/
1920
module.exports = function(app) {
20-
var env = app.get('env');
21+
var env = app.get('env');
2122

22-
if ('development' === env) {
23-
app.use(require('connect-livereload')());
23+
if ('development' === env) {
24+
app.use(require('connect-livereload')());
2425

25-
// Disable caching of scripts for easier testing
26-
app.use(function noCache(req, res, next) {
27-
if (req.url.indexOf('/scripts/') === 0) {
28-
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
29-
res.header('Pragma', 'no-cache');
30-
res.header('Expires', 0);
31-
}
32-
next();
33-
});
26+
// Disable caching of scripts for easier testing
27+
app.use(function noCache(req, res, next) {
28+
if (req.url.indexOf('/scripts/') === 0) {
29+
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
30+
res.header('Pragma', 'no-cache');
31+
res.header('Expires', 0);
32+
}
33+
next();
34+
});
3435

35-
app.use(express.static(path.join(config.root, '.tmp')));
36-
app.use(express.static(path.join(config.root, 'app')));
37-
app.set('views', config.root + '/app/views');
38-
}
36+
app.use(express.static(path.join(config.root, '.tmp')));
37+
app.use(express.static(path.join(config.root, 'app')));
38+
app.set('views', config.root + '/app/views');
39+
}
3940

40-
if ('production' === env) {
41-
app.use(favicon(path.join(config.root, 'public', 'favicon.ico')));
42-
app.use(express.static(path.join(config.root, 'public')));
43-
app.set('views', config.root + '/views');
44-
}
41+
if ('production' === env) {
42+
app.use(compression());
43+
app.use(favicon(path.join(config.root, 'public', 'favicon.ico')));
44+
app.use(express.static(path.join(config.root, 'public')));
45+
app.set('views', config.root + '/views');
46+
}
4547

46-
<% if (!jade) { %>
47-
app.engine('html', require('ejs').renderFile);
48-
app.set('view engine', 'html');<% } %><% if (jade) { %>
49-
app.set('view engine', 'jade');<% } %>
50-
app.use(morgan('dev'));
51-
app.use(bodyParser());
52-
app.use(methodOverride());<% if(mongoPassportUser) { %>
53-
app.use(cookieParser());
48+
<% if (!jade) { %>
49+
app.engine('html', require('ejs').renderFile);
50+
app.set('view engine', 'html');<% } %><% if (jade) { %>
51+
app.set('view engine', 'jade');<% } %>
52+
app.use(morgan('dev'));
53+
app.use(bodyParser());
54+
app.use(methodOverride());<% if(mongoPassportUser) { %>
55+
app.use(cookieParser());
5456

55-
// Persist sessions with mongoStore
56-
app.use(session({
57-
secret: 'angular-fullstack secret',
58-
store: new mongoStore({
59-
url: config.mongo.uri,
60-
collection: 'sessions'
61-
}, function () {
62-
console.log('db connection open');
63-
})
64-
}));
57+
// Persist sessions with mongoStore
58+
app.use(session({
59+
secret: 'angular-fullstack secret',
60+
store: new mongoStore({
61+
url: config.mongo.uri,
62+
collection: 'sessions'
63+
}, function () {
64+
console.log('db connection open');
65+
})
66+
}));
6567

66-
// Use passport session
67-
app.use(passport.initialize());
68-
app.use(passport.session());
69-
<% } %>
68+
// Use passport session
69+
app.use(passport.initialize());
70+
app.use(passport.session());
71+
<% } %>
7072

71-
// Error handler - has to be last
72-
if ('development' === app.get('env')) {
73-
app.use(errorHandler())
74-
}
73+
// Error handler - has to be last
74+
if ('development' === app.get('env')) {
75+
app.use(errorHandler());
76+
}
7577
};

templates/express/routes.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
var api = require('./controllers/api'),
44
index = require('./controllers')<% if(mongoPassportUser) { %>,
55
users = require('./controllers/users'),
6-
session = require('./controllers/session');
7-
8-
var middleware = require('./middleware')<% } %>;
6+
session = require('./controllers/session'),
7+
middleware = require('./middleware')<% } %>;
98

109
/**
1110
* Application routes
@@ -17,15 +16,15 @@ module.exports = function(app) {
1716
.get(api.awesomeThings);
1817
<% if(mongoPassportUser) { %>
1918
app.route('/api/users')
20-
.post(users.create),
19+
.post(users.create)
2120
.put(users.changePassword);
2221
app.route('/api/users/me')
2322
.get(users.me);
2423
app.route('/api/users/:id')
2524
.get(users.show);
2625

2726
app.route('/api/session')
28-
.post(session.login),
27+
.post(session.login)
2928
.delete(session.logout);<% } %>
3029

3130
// All undefined api routes should return a 404

templates/express/server.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ var express = require('express')<% if (mongo) { %>,
1212
// Set default node environment to development
1313
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
1414

15-
// Application Config
1615
var config = require('./lib/config/config');<% if (mongo) { %>
17-
18-
// Connect to database
1916
var db = mongoose.connect(config.mongo.uri, config.mongo.options);
2017

2118
// Bootstrap models
@@ -28,16 +25,13 @@ fs.readdirSync(modelsPath).forEach(function (file) {
2825

2926
// Populate empty DB with sample data
3027
require('./lib/config/dummydata');<% } %><% if(mongoPassportUser) { %>
31-
28+
3229
// Passport Configuration
3330
var passport = require('./lib/config/passport');<% } %>
3431

32+
// Setup Express
3533
var app = express();
36-
37-
// Express settings
3834
require('./lib/config/express')(app);
39-
40-
// Routing
4135
require('./lib/routes')(app);
4236

4337
// Start server

0 commit comments

Comments
 (0)