• javascript的模块化解读


    AMD是RequireJS在推广过程中对模块定义的规范化产出。

    • 异步加载模块,依赖前置,提前执行。
    • Define定义模块 define([‘require’,’foo’],function(){return});
    • Require加载模块(依赖前置) require([‘foo’,’bar’],function(foo,bar){});

    CMD是SeaJS在推广过程中对模块定义的规范化产出。

    • Define定义exports 导出define(function(require,exports,module){});  module上存储了当前模块上的一些对象。
    • require(./a)直接引入。Require.async异步引入。
    • 同步加载,依赖就近,延迟执行。

     

     

    SeaJS 的应用

    官方入门例子:http://seajs.org/docs/#quick-start

    怎么写一个SeaJS模块?

    // 所有模块都通过 define 来定义
    define(function(require, exports, module) {
    
      // 通过 require 引入依赖
      var $ = require('jquery');
      var Spinning = require('./spinning');
    
      // 通过 exports 对外提供接口
      exports.doSomething = ...
    
      // 或者通过 module.exports 提供整个接口
      module.exports = ...
    
    });

    在页面中加载模块

    在 hello.html 页尾,通过 script 引入 sea.js 后,有一段配置代码:
    
    // seajs 的简单配置
    seajs.config({
      base: "../sea-modules/",
      alias: {
        "jquery": "jquery/jquery/1.10.1/jquery.js"
      }
    })
    
    // 加载入口模块
    seajs.use("../static/hello/src/main")
  • 相关阅读:
    前端调用后台接口下载word文档的两种方法
    Layui form表单提交注意事项
    JavaScript_Util_01
    心理
    小例子
    SQL分割字符串
    绘制10种不同颜色的散点图
    绘制散点图
    subplot的使用
    绘制正弦余弦
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/5360498.html
Copyright © 2020-2023  润新知