美文网首页
现代的模块机制

现代的模块机制

作者: 樱木夜访流川枫 | 来源:发表于2018-05-21 22:38 被阅读0次

概览

大多数模块依赖加载器/管理器本质上都是将模块定义封装进一个API

内容

模块依赖加载器/管理器的实现
var MyModules = (function Manager() {
  var modules = {};

  function define(name, deps, callback) {
    for(var i = 0; i < deps.length; i++) {
      deps[i] = modules[deps[i]];
    }
    
    modules[name] = callback.apply(callback, deps);
  }

  function get(name) {
    return modules[name];
  }

  return {
    get: get,
    define: define,
  };
})();

核心代码: module[name] = callback.apply(callback, deps);
在模式的定义中引入了包装函数,可以传入任何依赖,并且将返回值(模块的API),储存在一个根据名字来管理的模块列表中。

如何定义模块
// bar模块
MyModules.define('bar', [], function() {
  function hello(who) {
    return "Let me introduce: " + who;
  }

  return {
    hello: hello,
  };
})

// 依赖bar模块的foo模块
MyModules.define('foo', ['bar'], function(bar) {
  function helloUpper(who) {
    console.log(bar.hello(who).toUpperCase());
 }

  return {
    helloUpper: helloUpper,
  };
})

var bar = MyModules.get('bar');
bar.hello('Tom');  // 'Let me introduce: Tom'

var foo = MyModules.get('foo');
foo.helloUpper('Tom');  // 'LET ME INTRODUCE: TOM'

相关文章

  • 现代的模块机制

    概览 大多数模块依赖加载器/管理器本质上都是将模块定义封装进一个API。 内容 模块依赖加载器/管理器的实现 核心...

  • 现代的模块机制

    大多数模块依赖加载器/管理器本质上都是将模块定义封装进一个友好的API。 这段的代码的核心是modeules[na...

  • JS现代的模块机制

    大多数模块依赖加载器/管理器本质上都是将这种模块定义封装进一个友好的API... 看代码: var MyModul...

  • JavaScript现代的模块(摘录)

    现代的模块各种模块依赖加载器/消息机制实质上都是将这种模块定义包装进一个友好的API。与其检视任意一个特定的库,不...

  • Vue.js 学习之路(二)

    npm install npm install 模块安装机制简介 关于 npm install 模块安装机制的简介...

  • 模块加载机制有哪些?es6中的module和其他机制有什么区别?

    模块加载机制有哪些?es6中的module和其他机制有什么区别? 答案: 模块机制有amd,cmd和commonJ...

  • Node.js 模块机制

    Node.js 模块机制 Node.js 模块机制采用了 Commonjs 规范,弥补了当前 JavaScript...

  • 模块机制

    nodejs模块采用Commonjs规范,弥补Javascript开发大型应用没有标准的缺陷,类似java中的类,...

  • 模块机制

    CommonJS 模块规范 模块引用 require() 方法,引入一个模块的 API 到当前上下文中 模块定义 ...

  • Nodejs2 模块机制

    模块 nodejs采用的是commonjs的模块机制,commonjs模块的定义很简单,主要分为模块引用requi...

网友评论

      本文标题:现代的模块机制

      本文链接:https://www.haomeiwen.com/subject/mthcjftx.html