Last active
November 8, 2016 02:08
-
-
Save dignifiedquire/4372493 to your computer and use it in GitHub Desktop.
Example of using connect with ejs templating and browserify.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
exports.upcase = function(name) { | |
return name.toUpperCase(); | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// entry point for browser code | |
var test = require('./test'); | |
var adapter = require('./<%= adapter %>'); | |
window.onload = function () { | |
document.getElementById('result').innerHTML = test.test() + ' ' + test.test2(); | |
document.getElementById('adapter').innerHTML = adapter.upcase('awesome'); | |
}; | |
if (window.document.readyState === 'complete') window.onload(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<script type="text/javascript" src="/testacular.js"></script> | |
</head> | |
<body> | |
<ul> | |
<li><span id="result"></span></li> | |
<li><%= now %></li> | |
<li><span id="adapter"></span></li> | |
</ul> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ## Require Dependencies | |
var connect = require('connect'); | |
var urlrouter = require('urlrouter'); | |
var ejs = require('ejs'); | |
var render = require('connect-render'); | |
var browserify = require('browserify'); | |
// ## Middleware | |
// ### EJS | |
var ejsMiddleware = render({ | |
root: __dirname, | |
layout: 'index.html', | |
cache: true, // `false` for debug | |
helpers: { | |
sitename: 'connect-render demo site', | |
starttime: new Date().getTime(), | |
now: function (req, res) { | |
return new Date(); | |
} | |
} | |
}); | |
var template = function(body) { | |
return ejs.render(body, { | |
prefix: 'TESTACULAR', | |
adapter: 'adapter' | |
}); | |
}; | |
// ### Browserify all the things | |
var browserifyMiddleware = browserify({ | |
mount: '/testacular.js', | |
watch: true | |
}) | |
.register(template) | |
.addEntry(__dirname + '/js/entry.js'); | |
// ### Routes | |
var indexHandler = function(req, res) { | |
res.render('index.html'); | |
}; | |
var routerMiddleware = urlrouter(function(app) { | |
app.get('/', indexHandler); | |
app.get('/index.html', indexHandler); | |
}); | |
// ## Connect App | |
var app = connect() | |
.use(ejsMiddleware) | |
.use(connect.logger('short')) | |
.use(browserifyMiddleware) | |
.use(routerMiddleware) | |
.listen(3000, function(err){ | |
if (err) { | |
console.error(err); | |
} | |
console.log("Started server on port 3000"); | |
}); | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
exports.test = function() { | |
return '..'; | |
}; | |
exports.test2 = function() { | |
return '<%= prefix %>'; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment