Skip to content

Instantly share code, notes, and snippets.

@tschaub
Last active December 22, 2015 21:29
Show Gist options
  • Save tschaub/6533609 to your computer and use it in GitHub Desktop.
Save tschaub/6533609 to your computer and use it in GitHub Desktop.
Using closure-util package instead of Plovr for ol3
var path = require('path');
var url = require('url');
var log = require('npmlog');
var closure = require('closure-util');
log.info('serve', 'Parsing dependencies ...');
var root = '.'; // assumes you're running this from ol3 repo
var manager = new closure.Manager({
closure: true,
paths: [
path.join(root, 'src/**/*.js'),
path.join(root, 'examples/*.js')
]
});
manager.on('error', function(e) {
log.error('serve', e.message);
});
manager.on('ready', function() {
var server = new closure.Server({
manager: manager,
root: root,
loaderPath: '/examples/loader.js',
getMain: function(req) {
var main;
var query = url.parse(req.url, true).query;
if (query.id) {
var referer = req.headers.referer;
if (referer) {
var from = path.join(root, path.dirname(url.parse(referer).pathname));
main = path.resolve(from, query.id + '.js');
}
}
return main;
}
});
server.listen(3000, function() {
log.info('serve', 'Listening on http://localhost:3000/ (Ctrl+C to stop)');
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment