JSFiddle - React, Tailwind, and code Playground

by darcyclarke

JavaScript

/**
 * Shallow and simple Require.js port
 * Author: Darcy Clarke - http://darcyclarke.me
 */
(function(window, document, undefined){

    /**
     * Define module
     * 
     * @param {String} the name of the module
     * @param {Array} array of module dependancies - not relevant
     * @param {Function} callback function to be used when creating instance of module
     */
    var define = window.define = (function(){
        var _this = function(key, depends, callback){
            _this.modules[key] = { depends : depends, callback : callback };
        };    
        _this.modules = {};
        return _this;
    })();

    /**
     * Require module
     * 
     * @param {String} the name of the module
     * @return {Object} a new instance of the object/module
     */
    var require = window.require = function(key){
        if(define && define.modules[key] && define.modules[key].callback){
            return define.modules[key].callback.call(this, {}, {});
        }     
        return;
    };

})(window, document);

define('test', '', function(){
    return {};     
});

define('jquery', '', function(){
   return jQuery; 
});

var test = require('jquery');

console.log(test('body'));