zoukankan      html  css  js  c++  java
  • Javascript模块化编程require.js的用法

    JS模块化工具requirejs教程(一):初识requirejs

    http://www.runoob.com/w3cnote/requirejs-tutorial-1.html

    JS模块化工具requirejs教程(二):基本知识

    http://www.runoob.com/w3cnote/requirejs-tutorial-2.html

    Javascript模块化编程(三):require.js的用法

    http://www.ruanyifeng.com/blog/2012/11/require_js.html

    require js define 函数

    http://blog.csdn.net/u010130282/article/details/52329953

    5. 完整定义

    define('sample3' ,['sample','sample1'],function (sample,sample1) {
      var sample4 = require('sample4');
      return function(){
        alert(sample.name+':'+sample.sayhell());
      } 
    });

    这就是完整定义,有名称,有依赖,有回调,内部还有common的形式引入依赖对象!

    关于define函数的name和require函数的依赖名称之间的关系

    • define(name,[] , callback); 这个name可以省掉,默认是文件名称;当然也可以自定义,一旦我们定义了name,根据源代码我们可以发现define函数内部其实就是把这个name以及依赖模块、回调函数作为一个对象存储在全局的数组当中,也就是 defQueue.push([name,deps,callback]);那么这个name就是这个组件注册的的ID!

    • require([name , name2],callback); 系统首先会在全文检索path中是否对应的路径,如果没有自然把他作为路径拼接在baseUrl上去异步加载这个js文件,加载时从源代码中可以看到 ,var data = getScriptData(evt);返回的 data.id 其实就是name,然后执行contex.completeLoad(node.id),其内部就很清楚了,把define中注册的name和这里得到的name进行比较如果相等就执行。所以道理就是:require 和 define 的 name 必须保证一致!

  • 相关阅读:
    【转】C++轻量级可配置语法分析器
    [转载]正则表达式大全
    Batch update returned unexpected row count from update 错误解决方法
    [转载]C# ToString格式字符串整理(Format)(数字、日期和枚举的标准格式设置说明符)(SamWang)
    Centos配置mono环境
    ASP.NET MVC 4 简介
    添加控制器 Adding a Controller
    [转载]OrmHate
    [转载]张小龙谈移动互联网产品
    [转载]Golden Ratio in logo designs
  • 原文地址:https://www.cnblogs.com/as3lib/p/6664853.html
Copyright © 2011-2022 走看看