"use strict"; window.require_cache = {}; window.require = function (path) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; path = path.replace(/\.\.\//g, "/"); path = path.replace(/\.\//g, "/"); if (path.slice(-3) != ".js") { path = "".concat(path, ".js"); } // path = `/${path}`; var module = {}; if (typeof window.require_cache[path] != "undefined") { return window.require_cache[path]; } var code = $.ajax({ method: options.method || "GET", url: path, data: options.data || {}, async: false, dataType: "text", success: function success(code) { // console.log(path); // console.log(code); var func = new Function("module", "global", code); func(module, window); } }); window.require_cache[path] = module.exports; return module.exports; }; $(function () { var requiredScripts = $("script[require]"); for (var r = 0; r < requiredScripts.length; r++) { var requiredScript = $(requiredScripts[r]); var path = requiredScript.attr("require"); var name = requiredScript.attr("name") || null; var result = require(path); if (name != null) { window[name] = result; } } });