zoukankan      html  css  js  c++  java
  • 坑人的 Javascript 模块化编程 sea.js

    坑人的 Javascript 模块化编程 sea.js

    忧伤 加 蛋疼的 开始了 看文档 

      Sea.js 进行配置

    seajs.config({
     
      // 设置路径,方便跨目录调用
      paths: {
        'arale': 'https://a.alipayobjects.com/arale',        //这特么是不是调用标识呀 通过alias 别名来进行调用 狗日的说清楚呀
        'jquery': 'https://a.alipayobjects.com/jquery'
      },
     
      // 设置别名,方便调用
      alias: {
        'class': 'arale/class/1.0.0/class',
        'jquery': 'jquery/jquery/1.10.1/jquery'
      }
     
    });
    // 加载一个模块   我屮艸芔茻 ,a 是哪个 哪个是a模块 你妹滴说清楚呀
    seajs.use('./a');
    // 加载一个模块,在加载完成时,执行回调
    seajs.use('./a', function(a) {
      a.doSomething();
    });
     
    // 加载多个模块,在加载完成时,执行回调
    seajs.use(['./a', './b'], function(a, b) {
      a.doSomething();
      b.doSomething();
    });

     

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

    另一种

    define("js/main", ["jquery", "nivoslider", "css/nivo-slider.css", "css/default/default.css"], function (require) {    //[] 这他娘滴是啥
        var $ = require("jquery"),
        nav = require("./nav"),
        slider = require("./slider");
     
        nav.render($(".nav:first"));
        slider.render();
    }),
    define("js/data", {
        navList: [
            {
                name: "案例展示",
                link: "gallery"
            }, {
                name: "服务条款",
                link: "service"
            }, {
                name: "联系我们",
                link: "contact"
            }
        ]
    }),  //怎么还用上了json  我操

    好了好了官方文档来了

    define(id?, dependencies?, factory);

    id

    当前模块的唯一标识。该参数可选。如果没有指定,默认为模块所在文件的访问路径。如果指定的话, 必须是顶级或绝对标识(不能是相对标识)。

    dependencies

    当前模块所依赖的模块,是一个由模块标识组成的数组。该参数可选。如果没有指定,模块加载器会从factory.toString() 中解析出该数组。

    ** 注意:强烈推荐不要设定 id 和 dependencies 参数。 在开发阶段,模块加载器会自动获取这两个参数。部署上线时,则可以通过优化工具来提取这两个参数。

    factory

    模块的工厂函数。模块初始化时,会调用且仅调用一次该工厂函数。factory 可以是函数, 也可以是对象、字符串等任意值,这时 module.exports 会直接设置为 factory 值。

    factory 函数在调用时,会始终传入三个参数: requireexports 和 module, 这三个参数在所有模块代码里可用。

    define(function(require, exports, module) {
    
      // The module code goes here
      
    });
  • 相关阅读:
    图书管理系统---基于form组件和modelform改造添加和编辑
    Keepalived和Heartbeat
    SCAN IP 解释
    Configure Active DataGuard and DG BROKER
    Oracle 11gR2
    我在管理工作中積累的九種最重要的領導力 (李開復)
    公募基金公司超融合基础架构与同城灾备建设实践
    Oracle 11g RAC for LINUX rhel 6.X silent install(静默安装)
    11gR2 静默安装RAC 集群和数据库软件
    Setting Up Oracle GoldenGate 12
  • 原文地址:https://www.cnblogs.com/subtract/p/4571381.html
Copyright © 2011-2022 走看看