Skip to content

Instantly share code, notes, and snippets.

@sebble
Last active September 20, 2016 13:37
Show Gist options
  • Save sebble/3da8ae058bf5edb2157fd380dbd8940d to your computer and use it in GitHub Desktop.
Save sebble/3da8ae058bf5edb2157fd380dbd8940d to your computer and use it in GitHub Desktop.
Simple demo of almost-native ES and module loading
<!doctype html>
<meta charset=utf-8>
<title>ES6+Loaders</title>
<script data-main=./index>/*Stuk/require1k*/R=function(e,n,v1){function t(e,o,u,a){if(e.g)return o(e.e,e);var c=e.g=e.l,f=new XMLHttpRequest;f.onload=function(i,l){function s(){l--||o(n,e)}200==f.status||e.t?(i=[],(e.t=e.t||f.response).replace(/(?:^|[^\w\$_.])require\s*\(\s*["']([^"']*)["']\s*\)/g,function(e,n){i.push(n)}),l=i.length,i.map(function(o){t(r(e.l,o),s,"."!=o[0]?c+"/../":n,o)}),s()):u?t(e.n=r(u+="../",a),o,u,a):(e.e=f,o(f,e))},e.t?f.onload():(f.open("GET",c,!0),f.send())}function r(e,n,t){if(e.e)throw e.e;return n?(f.href=e,i.href="."!=n[0]?"./node_modules/"+n:n,t=i.href+".js",f.href="",u[t]=u[t]||{l:t}):e.n?r(e.n):(e[c]||(e.f||a("(function(require,"+c+",module){"+e.t+"\n})//# sourceURL="+e.l))(function(n){return r(r(e.l,n))},e[c]={},e),e[c])}function o(e,n){t(e.call?{l:"",t:""+e,f:e}:r("",e),function(t,o){try{e=r(o)}catch(u){t=u}n&&n(t,e)})}var u={},a=eval,c="createElement",f=e[c]("base"),i=e[c]("a");return e.head.appendChild(f),c=e.querySelector("script[data-main]"),c&&o(c.dataset.main),c="exports",o}(document);</script>
<div id="output"></div>
"use strict";
var m = require('./util');
// https://babeljs.io/docs/learn-es2015/#modules
const getMessage = () => "2π = " + m.sum(m.pi, m.pi);
document.getElementById('output').innerHTML = getMessage();
module.exports = {
sum: (x, y) => x + y,
pi: 3.141593,
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment