Skip to content

find something error #28

@heuuLZP

Description

@heuuLZP

CommonJS:不是前端却革命了前端
https://github.com/morrain/front-end/blob/master/module/README.md

// bundle.js
(function (modules) {
  // 模块管理的实现
  var installedModules = {}
  /**
   * 加载模块的业务逻辑实现
   * @param {String} moduleName 要加载的模块名
   */
  var require = function (moduleName) {

    // 如果已经加载过,就直接返回
    if (installedModules[moduleName]) return installedModules[moduleName].exports

    // 如果没有加载,就生成一个 module,并放到 installedModules
    var module = installedModules[moduleName] = {
      moduleName: moduleName,
      exports: {}
    }

    // 执行要加载的模块
    modules[moduleName].call(modules.exports, module, module.exports, require)

    return module.exports
  }

  return require('index.js')
})({
  'a.js': function (module, exports, require) {
    // a.js 文件内容
  },
  'b.js': function (module, exports, require) {
    // b.js 文件内容
  },
  'index.js': function (module, exports, require) {
    // index.js 文件内容
  }
})

The first arg is error.

ERROR

// 执行要加载的模块
modules[moduleName].call(modules.exports, module, module.exports, require)

CORRECT

// 执行要加载的模块
modules[moduleName].call(module.exports, module, module.exports, require)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions