Created
August 21, 2013 07:46
-
-
Save amark/6291429 to your computer and use it in GitHub Desktop.
Require that works everywhere, tested on all browsers IE6 or more modern and Node! Weighs 2KB. Save this file as "imports.js", then include it as a script tag for the browser, and use as below for your own code - Node works automatically. `;module.exports=require('./path/to/imports')('hello',function(mods){ /* your code here */ return 'Hello Wor…
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
(function(){var m=m||{},g=m,a={id:"imports"};g.opts=g.opts||{};g.d={l:{},n:{},a:{},w:{}};g.z="undefined"!==typeof GLOBAL&&GLOBAL.global&&GLOBAL.process&&GLOBAL.process.env&&GLOBAL.process.pid&&GLOBAL.process.execPath?function(){global.node=g.node=!0;module.exports=function(b,e,d){var c=a.r(b,e,d);c.s=g.y||(module.parent||{}).filename;a.e(a.d(c.d,c.s,{}),function(b,e){c.a[b]=a.n(e=require(g.y=e))?void 0:e});return c.i(c.a)}}:function(){var b=window;g.page=!0;b.root=g;b.console=b.console||{log:function(a){return a}}; | |
location.local="file:"===location.protocol?"http:":"";b.__dirname="";b.module={exports:b.exports={}};a.l=function(a,b){var c="script",f=document.createElement(c);module.sync=null!==f.onload&&f.readyState?1:0;var h=2166136261,g=a.length,k=b,q=/=\?/,r=window.setTimeout,n,m,p=function(a){document.body&&(a=a||n)&&f&&document.body[a]?document.body[m=a](f):r(p,0)};if(q.test(a)){for(;g--;)h=16777619*h^a.charCodeAt(g);window[c+=0>h?-h:h]=function(){k.apply(k,arguments);delete window[c]};a=a.replace(q,"="+ | |
c);b=0}f.onload=f.onreadystatechange=function(){if(m&&/de|m/.test(f.readyState||"m")){b&&b();p(n="removeChild");try{for(b in f)delete f[b]}catch(a){}}};f.src=a;b&&p(n="appendChild")};a.l("#");b.require=module.require=function(b){if(!b)return require;if(a.q(b)==a.q(a.id))return a.r;var d,c=0;a.e(b=a.L(b)?b:[b],function(f){a.g(f,function(a){++c&&b.length<=c&&d&&d(a)})});return function(a){d=a}};require.resolve=a.f;require.cache={};a.y();b.imports=a};a.T=function(a){return"string"==typeof a?!0:!1};a.L= | |
function(a){return a instanceof Array?!0:!1};a.F=function(a){return a instanceof Function?!0:!1};a.O=function(b){return b instanceof Object&&!a.L(b)&&!a.F(b)?!0:!1};a.n=function(b){return a.O(b)?a.e(b,function(a,b){if(b)return!0})?!1:!0:!1};a.h=function(a,e){return Object.prototype.hasOwnProperty.call(a,e)};a.e=function(b,e){var d=0,c=0,f,g,l=a.F(e),k=function(a,b){void 0!==b?(g=g||{},g[a]=b):(g=g||[],g.push(a))};if(a.L(b))for(f=b.length;d<f;d++){if(c=d+a.e.i,c=e(b[d],c,k),void 0!==c)return c}else if(a.O(b))for(d in b)if(a.h(b, | |
d)&&(c=e(b[d],d,k),void 0!==c))return c;return l?g:a.e.i?0:-1};a.e.i=1;a.e.u=function(b,e){var d={};a.e(b,function(b,f){a.h(d,f)||(d[f]=b)});a.e(e,function(b,f){a.h(d,f)||(d[f]=b)});return d};a.o=function(b){a.o.l=a.o.l||[];if(!b)return a.e(a.o.l,function(a){a.fn&&a.fn()});var e={fn:b,off:function(){e.fn=!1}};a.o.l.push(e);return e};a.r=function(b,e,d){var c={n:b,i:e,d:d,a:{}};c.d=a.L(c.d)?a.e(c.d,function(a,b,c){c(a,1)}):c.d;if(g.node)return c;c.z=function(){return a.d(c.d,c.s),c.l()};c.l=function(){if(!c.g&& | |
!a.e(a.d(c.d,0,{}),function(b,e,d){if(!(d=g.d.l[e])||2===d)return!0;d&&(d.l&&b&&a.T(b)&&void 0===c.a[b])&&(c.a[b]=d.l)}))return c.o.off(),c.g={l:c.i(c.a)},module.exports=exports=c.g.l,c.s&&(g.d.l[c.s]=c.g,a.o()),c.g.l};c.o=a.o(c.l);c.m=function(a){module.on=c.m=!1;g.d.n[c.s=a]=c.n;if(g.d.a[a]=c.d)g.d.l[a]=2;return c.z()};module.on=require.ing?c.m:c.m(a.s(1))||!1};a.d=function(b,e,d,c){a.e(b,function(f,h,l,k){l=h;k={p:h};e&&(delete b[h],b[l=a.f(e,a.p(l))]=f);a.L(f)&&(delete b[h],f=b[l]=a.e(f,function(b, | |
c,d){d(a.f(e,a.p(b)),1)}));a.O(f)&&(k.d=f,d&&a.d(f,0,d));f&&a.T(f)&&(k.n=f);if(d)k.s=a.u(a.p(l)),(h=d[k.s])&&1!==h||(d[k.s]=(c?1:k.n)||a.q(l),1!==h&&k.s&&a.T(k.s)&&(f=g.d.a[k.s])&&(a.O(f)||a.L(f))&&a.d(f,0,d,1));else return a.g(l,k)});return d};a.u=function(a){if(!g.page)return a;var e=document.createElement("div");e.innerHTML='<a href="'+a+'">x</a>';return e.firstChild.href};a.p=function(a){return g.page?/\.js$/i.test(a)?a:a+".js":a};a.q=function(b){if(!a.T(b))return"";b=b.replace(/^\./,"");return b.split("/").reverse()[0].replace(/\.js$/i, | |
"")};a.f=function(a,e){if(!a||"."!=e.charAt(0))return e;var d=a.split("/");s=e.split("/");d.pop();for(a=0;a<s.length;a++)e=s[a],".."==e?d.pop():"."!=e&&d.push(e);return d.join("/")};a.g=function(b,e,d){if(a.q(b)==a.q(a.id))return a.r;e=e||{};var c=g.d.w;if(module.sync){if(!d&&!a.n(c)){c[b]=e;e.d&&(c=g.d.w=a.e.u(c,e.d));return}c[b]=e;e.d&&(c=g.d.w=a.e.u(c,e.d))}var f=a.p(b),h=a.u(f);d=function(d){!1!==d&&(console.log(f," loaded"),g.d.l[h]=1,module.on&&module.on(h),a.F(e)&&e(d));a.o();!module.sync&& | |
e.d&&a.d(e.d);module.sync&&(delete c[b],a.e(c,function(b,d,e){delete c[d];a.g(d,b,1);return 1})||(c=g.d.w=!1))};if(g.d.l[h]||0===g.d.l[h])return d(!1);g.d.l[h]=0;require.ing=!0;try{a.l(f,d)}catch(l){console.log(l)}console.log("loading",f)};a.s=function(){var b=document.getElementsByTagName("script"),b=(b[b.length-1]||{}).src;return a.q(b)===a.id?location:b||location};a.z=function(a,e){try{(window.execScript||function(a){window.eval.call(window,a)})(a)}catch(d){console.log(d,a)}};g.c=0;a.y=function(b){if(g.page){var e= | |
document.getElementsByTagName("script"),d,c;for(c in e){var f=e[c];b=f.src||b;f.id||!f.innerHTML||a.q(f.src)!==a.q(a.id)?!1:d=f}d&&(a.z(d.innerHTML,"config"),d.id=a.id+g.c++);return b}};g.i=(g.z(),a.y)})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment