Skip to content

Instantly share code, notes, and snippets.

@branneman
Last active September 27, 2016 11:49
Show Gist options
  • Save branneman/37865bcfc5d102c2be6c to your computer and use it in GitHub Desktop.
Save branneman/37865bcfc5d102c2be6c to your computer and use it in GitHub Desktop.
Conditioner.js bootstrap with JavaScript Mustard Cut & Polyfill loading
<!doctype html>
<html>
<head>
...
<script>
(function(d){
if (!('querySelector' in d && 'addEventListener' in window)) return;
d.documentElement.className += ' has-js';
d.addEventListener('DOMContentLoaded', function() {
var s = d.createElement('script');
s.setAttribute('src', '/static/js/vendor/requirejs/require.js');
s.setAttribute('data-main', '/static/js/main');
d.body.appendChild(s);
});
}(document));
</script>
</head>
<body>
...
</body>
</html>
(function(){
require.config({
map: {
'*': {
classList: 'polyfills/classList',
conditioner: 'vendor/conditionerjs/conditioner'
}
}
});
var polyfills = [];
if (!('classList' in document.documentElement)) {
polyfills.push('classList');
}
// ... more feature detections ...
require(['conditioner'].concat(polyfills), function(conditioner) {
conditioner.init();
});
}());
@rikschennink
Copy link

Haha, brilliant! :-) Excellent plan to leave minifying to the pros ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment