Skip to content

Instantly share code, notes, and snippets.

@mokargas
Created September 22, 2015 23:44
Show Gist options
  • Save mokargas/def632715821229726ee to your computer and use it in GitHub Desktop.
Save mokargas/def632715821229726ee to your computer and use it in GitHub Desktop.
Boilerplate for Node.js server, devmode
//Incs
var express = require('express');
var path = require('path');
var cors = require('cors');
var bodyParser = require('body-parser');
var nconf = require('nconf');
//Set base root for modules
process.env.root = __dirname;
//Load config. This will depend on what your NODE_ENV var is set to
nconf.argv().env().file({ file:'config/config-' + process.env.NODE_ENV + '.json'});
//Create app stub
var app = express();
var http = require('http').createServer(app);
//Setup socket with chosen port
var io = require('socket.io')();
io.listen(http);
//Begin server
http.listen(8201, function(){
'use strict';
});
//Enable parsing json bodies
app.use(bodyParser.json());
app.use(cors());
//Set template engine
app.set('view engine', 'ejs');
//Enable all sources. FOR DEV ONLY.
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
//Test connection
io.on('connect', function (socket) {
var payload = {test: "test"};
io.sockets.emit('connected-user', payload);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment