作家
登录

RequireJS模块化编程详解

作者: 来源: 2017-05-18 12:06:31 阅读 我要评论

2)require([name , name2],callback); 体系起首会在全文检索path中是否对应的路径,如不雅没有天然把他作为路径拼接在baseUrl上去异步加载这个js文件,加载时大年夜源代码中可以看到 ,var data = http://developer.51cto.com/art/201705/getScriptData(evt);返回的 data.id 其实就是name,然后履行contex.completeLoad(node.id),其内部就很清跋扈了,把define中注册的name和这里获得的name进行比较如不雅相等就履行,所以事理就是:require 和 define 的 name 必须包管一致!

标签加载完成之后,获取标签的独一标识name

加载非规范的模块

举例来说,underscore和backbone这两个库,都没有采取AMD规范编写。如不雅要加载它们的话,必须先定义它们的特点。

  1. require.config({ 
  2. shim: { 
  3.  
  4. 'underscore':{ 
  5. exports: '_' 
  6. }, 
  7. 'backbone': { 
  8. deps: ['underscore''jquery'], 
  9. exports: 'Backbone' 
  10. });  

require.config()接收一个设备对象,这个对象除了有前面说过的paths属性之外,还有一个shim属性,专门用来设备不兼容的模块。具体来说,每个模块要定义(1)exports值(输出的变量名),注解这个模块外部调用时的名称;(2)deps数组,注解该模块的依附性。

比如,jQuery的插件可以如许定义:

  1. shim: { 
  2. 'jquery.scroll': { 
  3. deps: ['jquery'], 
  4. exports: 'jQuery.fn.scroll' 
  5.  

require.js插件

domready插件,可以让回调函数在页面DOM构造加载完成后再运行。

  1. require(['domready!'], function (doc){ 
  2. // called once the DOM is ready 
  3. });  

text和image插件,则是许可require.js加载文本和图片文件。

  1. define([ 
  2. 'text!review.txt'
  3. 'image!cat.jpg' 
  4. ], 
  5.  
  6. function(review,cat){ 
  7. console.log(review); 
  8. document.body.appendChild(cat); 
  9. );  

require.js还供给一系列插件,实现一些特定的功能。

类似的插件还有json和mdown,用于加载json文件和markdown文件。

第二行math.add(2, 3),在第一行require('math')之后运行,是以必须等math.js加载完成。也就是说,如不雅加载时光很长,全部应用就会停在那边等。

参考地址:

Javascript模块化编程(一):模块的写法

Javascript模块化编程(二):AMD规范

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

RequireJS define 具体介绍 

【编辑推荐】

  1. 基于Python和JavaScript编写物联网温度计法度榜样
  2. Prepack——JavaScript代码优化对象
  3. BOOM:一款有趣的Javascript动画效不雅
  4. JavaScript异步与Promise实现
  5. JavaScript深刻之创建对象的多种方法以及优缺点
【义务编辑:枯木 TEL:(010)68476606】

急速履行函数写法



  推荐阅读

  如何安装pandom : 一个针对Linux的真随机数生成器

本教程只针对 amd64/x86_64 架构 Linux 内核版本大年夜于等于 2.6.9 的体系。本文将解释若何安装 pandom,这是一个由 ncomputers.org 保护的准时颤抖真随机数生成器。我们老是建议在应用>>>详细阅读


本文标题:RequireJS模块化编程详解

地址:http://www.17bianji.com/lsqh/35293.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)