Skip to content

Instantly share code, notes, and snippets.

@somebody32
Last active February 6, 2016 18:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save somebody32/bc3b386ce8ce1f35da9d to your computer and use it in GitHub Desktop.
Save somebody32/bc3b386ce8ce1f35da9d to your computer and use it in GitHub Desktop.
router with bundle loader
import Backbone from 'backbone';
import $ from 'jquery';
import AppFinder from './app_finder_test';
export default Backbone.Router.extend({
routes: {
'': 'home',
'main_app_part': 'mainAppPart',
'*handleMissingRoute': 'handle404'
},
home() {
$('#app').html("You're on the home page");
},
mainAppPart() {
$('#app').html("You're viewing part of the main app, no async bundle loading here");
},
handle404(path) {
const mini_app_name = AppFinder(path);
if (mini_app_name) {
+ const handler = require('bundle!./apps/' + mini_app_name + '/index.js');
- require.ensure([], require => {
+ handler(bundle => {
- const App = require('./apps/' + mini_app_name + '/index.js').default;
+ const App = bundle.default;
App();
Backbone.history.loadUrl();
});
} else {
alert('404');
}
},
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment