← helloexpress

First Commit

205fef5ed458521f81cb6d4d879462b556a9d2f2 · ovidiucs · Apr 16, 2014 02:50

+86 · 7 files changed

  • app.js +37 −0
  • package.json +13 −0
  • public/stylesheets/style.less +8 −0
  • routes/index.js +8 −0
  • routes/user.js +8 −0
  • views/index.jade +5 −0
  • views/layout.jade +7 −0
diff --git a/app.js b/app.js
new file mode 100644
index 0000000..9b31196
--- /dev/null
+++ b/app.js
@@ -0,0 +1,37 @@
+
+/**
+ * Module dependencies.
+ */
+
+var express = require('express');
+var routes = require('./routes');
+var user = require('./routes/user');
+var http = require('http');
+var path = require('path');
+
+var app = express();
+
+// all environments
+app.set('port', process.env.PORT || 3000);
+app.set('views', path.join(__dirname, 'views'));
+app.set('view engine', 'jade');
+app.use(express.favicon());
+app.use(express.logger('dev'));
+app.use(express.json());
+app.use(express.urlencoded());
+app.use(express.methodOverride());
+app.use(app.router);
+app.use(require('less-middleware')({ src: path.join(__dirname, 'public') }));
+app.use(express.static(path.join(__dirname, 'public')));
+
+// development only
+if ('development' == app.get('env')) {
+  app.use(express.errorHandler());
+}
+
+app.get('/', routes.index);
+app.get('/users', user.list);
+
+http.createServer(app).listen(app.get('port'), function(){
+  console.log('Express server listening on port ' + app.get('port'));
+});
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..bea6e38
--- /dev/null
+++ b/package.json
@@ -0,0 +1,13 @@
+{
+  "name": "application-name",
+  "version": "0.0.1",
+  "private": true,
+  "scripts": {
+    "start": "node app.js"
+  },
+  "dependencies": {
+    "express": "3.5.0",
+    "jade": "*",
+    "less-middleware": "*"
+  }
+}
\ No newline at end of file
diff --git a/public/stylesheets/style.less b/public/stylesheets/style.less
new file mode 100644
index 0000000..30e047d
--- /dev/null
+++ b/public/stylesheets/style.less
@@ -0,0 +1,8 @@
+body {
+  padding: 50px;
+  font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
+}
+
+a {
+  color: #00B7FF;
+}
\ No newline at end of file
diff --git a/routes/index.js b/routes/index.js
new file mode 100644
index 0000000..f296005
--- /dev/null
+++ b/routes/index.js
@@ -0,0 +1,8 @@
+
+/*
+ * GET home page.
+ */
+
+exports.index = function(req, res){
+  res.render('index', { title: 'Express' });
+};
\ No newline at end of file
diff --git a/routes/user.js b/routes/user.js
new file mode 100644
index 0000000..d5b34aa
--- /dev/null
+++ b/routes/user.js
@@ -0,0 +1,8 @@
+
+/*
+ * GET users listing.
+ */
+
+exports.list = function(req, res){
+  res.send("respond with a resource");
+};
\ No newline at end of file
diff --git a/views/index.jade b/views/index.jade
new file mode 100644
index 0000000..ef7b09f
--- /dev/null
+++ b/views/index.jade
@@ -0,0 +1,5 @@
+extends layout
+
+block content
+  h1= title
+  p Welcome to #{title}
\ No newline at end of file
diff --git a/views/layout.jade b/views/layout.jade
new file mode 100644
index 0000000..b945f57
--- /dev/null
+++ b/views/layout.jade
@@ -0,0 +1,7 @@
+doctype html
+html
+  head
+    title= title
+    link(rel='stylesheet', href='/stylesheets/style.css')
+  body
+    block content
\ No newline at end of file