efront 4.32.0 → 4.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -310,7 +310,7 @@ var loadModule = function (url, then, prebuilds = {}) {
310
310
  mod.args = args;
311
311
  mod.argNames = argNames;
312
312
  mod.strs = strs;
313
- var loadingCount = 0;
313
+ var loadedCount = 0;
314
314
  if (required) {
315
315
  required = required.split(';').filter(a => !!a);
316
316
  if (afterfix) required = required.map(r => r + afterfix);
@@ -321,13 +321,13 @@ var loadModule = function (url, then, prebuilds = {}) {
321
321
  args = args.concat(required);
322
322
  var _errored = [];
323
323
  var response = function (error) {
324
- loadingCount++;
324
+ loadedCount++;
325
325
  if (error) {
326
326
  if (!errored[error]) errored[error] = [];
327
327
  errored[error].push(key);
328
328
  if (_errored.indexOf(error) < 0) _errored.push(error);
329
329
  }
330
- if (loadingCount === args.length) {
330
+ if (loadedCount === args.length) {
331
331
  if (_errored.length) loadedModules[key].error = _errored;
332
332
  flushTree(loadedModules, key, mod);
333
333
  }
@@ -338,6 +338,13 @@ var loadModule = function (url, then, prebuilds = {}) {
338
338
  loadedModules[key].args = mod.args;
339
339
  loadedModules[key].mod = mod;
340
340
  for (var moduleName of args) {
341
+ if (moduleName === url) {
342
+ // <!--
343
+ // console.log(`检查到自我引用的代码 %c>> ${url} <<%c `, "color:#c46", 'color:');
344
+ // -->
345
+ response();
346
+ continue;
347
+ }
341
348
  loadModule(moduleName, response, prebuilds);
342
349
  }
343
350
  }
@@ -445,7 +452,8 @@ var createModule = function (exec, originNames, compiledNames, prebuilds = {}, a
445
452
  if (argfix in exec) return exec[argfix];
446
453
  var module = {};
447
454
  var exports = module.exports = exec[argfix] || new Exports;
448
- var isModuleInit = false;
455
+ var isModuleInit = originNames.indexOf('module') >= 0 || originNames.indexOf("exports") >= 0;
456
+ if (isModuleInit) if (argfix != null) exec[argfix] = exports;
449
457
  var required = exec.required;
450
458
  if (required) required = required.map(a => loadedModules[keyprefix + a]);
451
459
  var argsList = originNames.map(function (aName) {
@@ -454,15 +462,14 @@ var createModule = function (exec, originNames, compiledNames, prebuilds = {}, a
454
462
  return prebuilds[argName];
455
463
  }
456
464
  if (argName === "module") {
457
- isModuleInit = true;
458
- if (argfix != null) exec[argfix] = exports;
459
465
  return module;
460
466
  }
461
467
  if (argName === "exports") {
462
- isModuleInit = true;
463
- if (argfix != null) exec[argfix] = exports;
464
468
  return exports;
465
469
  }
470
+ if (argName === exec.file) {
471
+ return isModuleInit ? exports : exec;
472
+ }
466
473
  if (argName === '\\import') {
467
474
  return new Meta(exec.file, argfix);
468
475
  }
@@ -474,6 +481,7 @@ var createModule = function (exec, originNames, compiledNames, prebuilds = {}, a
474
481
  var mod = required[refer];
475
482
  argfix = argfix || '';
476
483
  if (argfix in mod) return mod[argfix];
484
+ if (mod === exec) return exports;
477
485
  var c = mod[argfix] = createModule(mod, mod.args || [], mod.argNames, prebuilds, argfix);
478
486
  return c;
479
487
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "4.32.0",
3
+ "version": "4.32.1",
4
4
  "description": "一个开发环境,提供一种自由的前端开发模式,也可作为辅助工具使用。",
5
5
  "main": "public/efront.js",
6
6
  "directories": {