广告
返回顶部
首页 > 资讯 > 前端开发 > html >Require.js怎么用
  • 402
分享到

Require.js怎么用

2024-04-02 19:04:59 402人浏览 独家记忆
摘要

小编给大家分享一下Require.js怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、为什么要使用require.js首

小编给大家分享一下Require.js怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、为什么要使用require.js

首先一个页面如果在加载多个js文件的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。

require.js,就是为了解决这两个问题:

1. 实现js文件的异步加载,避免网页失去响应;
2. 管理模块之间的依赖性,便于代码的编写和维护。

二、require.js的加载

第一步,去官网下载最新版本,直接放到页面进行加载

<script src="js/require.js"></script>

加载这个文件可能会导致网页失去响应,可以将它放到页面的底部加载,也可以这样写

<script src="js/require.js" defer async="true" ></script>

async属性表明这个文件需要异步加载,避免网页失去响应。IE不支持这个属性,只支持defer,所以把defer也写上。

加载require.js以后,下一步就要加载我们自己的代码了,也就是入口,可以叫主模块,如果文件名叫main.js,写成下面这样就可以了:

<script src="js/require.js" data-main="js/main"></script>  .js后缀可以省略

三、主模块的写法

如果主模块依赖于Jquery可以这样写

require(['jquery'], function ($){ 
   alert($); 
});

四、require.config()方法

require.config({ 
  paths: { 
    "jquery": "jquery.min", 
    "underscore": "underscore.min", 
    "backbone": "backbone.min"
  } 
});

上面的代码给出了三个模块的文件名,路径默认与main.js在同一个目录(js子目录)。如果这些模块在其他目录,比如js/lib目录,则有两种写法。

• 一种是逐一指定路径

require.config({ 
  paths: { 
    "jquery": "lib/jquery.min", 
    "underscore": "lib/underscore.min", 
    "backbone": "lib/backbone.min"
  } 
});

• 另一种则是直接改变基目录(baseUrl)。

require.config({ 
  baseUrl: "js/lib", 
  paths: { 
    "jquery": "jquery.min", 
    "underscor: "underscore.min", 
    "backbone": "backbone.min" 
  } 
});

• 如果某个模块在另一台主机上,也可以直接指定它的网址,比如

require.config({ 
  paths: { 
    "jquery": "https://ajax.Googleapis.com/ajax/libs/jquery/1.7.2/jquery.min"
  } 
});

五、AMD模块的写法

require.js加载的模块,采用AMD规范。也就是说,模块必须按照AMD的规定来写。

具体来说,就是模块必须采用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中。

// math.js 
define(function (){ 
  var add = function (x,y){ 
    return x+y; 
  }; 
  return { 
    add: add 
  }; 
});

加载方法如下:

 // main.js 
require(['math'], function (math){ 
  alert(math.add(1,1)); 
});

如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性。

define(['myLib'], function(myLib){ 
  function foo(){ 
    myLib.doSomething(); 
  } 
  return {  //返回模块中的函数 
    foo : foo 
  }; 
});

当require()函数加载上面这个模块的时候,就会先加载myLib.js文件。

六、加载非规范的模块(shim的使用方式)

// app.js 
 function sayHello(name){ 
  alert('Hi '+name); 
}
// main.js 
require.config({ 
  shim: { 
    'app': { //这个键名为要载入的目标文件的文件名,不能随便命名。 
      exports: 'sayHello' //exports的值为my.js提供的 对外接口的名称 
    } 
  } 
}); 
 
require(['app'], function(sayHello) { 
 alert(sayHello()) 
})

导出一个函数,意味着我们得到了一个javascript

但是如果在my.js中写了很多function,整合成一个function有点麻烦,想直接导出?方法如下:

// app.js 
function sayHi(name){ 
 alert('Hi '+name); 
} 
function sayHello(name){ 
 alert('Hiello '+name); 
}
// main.js 
  require.config({ 
    shim: { 
      app: { 
        init: function() { //这里使用init将2个接口返回 
          return { 
            sayHi: sayHi, 
            sayHello: sayHello 
          } 
        } 
      } 
    } 
  }); 
 
  require(['app'], function(a) { 
    a.sayHi('zhangsan'); 
    a.sayHello('lisi'); 
  });

shim的有序导入

require.config({ 
 
 shim: { 
    'jquery.ui.core': ['jquery'], //表示在jquery导入之后导入 
    'jquery.ui.widget': ['jquery'], 
    'jquery.ui.mouse': ['jquery'], 
    'jquery.ui.slider':['jquery'] 
   }, 
 paths : {  
  jquery : 'jquery-2.1.1/jquery',  
  domReady : 'require-2.1.11/domReady',  
  'jquery.ui.core' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.core',  
  'jquery.ui.widget' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.widget',  
  'jquery.ui.mouse' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.mouse',  
  'jquery.ui.slider' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.slider' 
  } 
  });  
 
  require(['jquery', 'domReady','jquery.ui.core','jquery.ui.widget','jquery.ui.mouse','jquery.ui.slider'], function($) {    
   $("#slider" ).slider({    
    value:0,   
    min: 0,   
    max: 4,   
    step: 1,   
    slide: function( event, ui ) {}  
     });  
   });

以上是“Require.js怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: Require.js怎么用

本文链接: https://www.lsjlt.com/news/75689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Require.js怎么用
    小编给大家分享一下Require.js怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、为什么要使用require.js首...
    99+
    2022-10-19
  • Require.js有什么用
    小编给大家分享一下Require.js有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:什么是require.js①:r...
    99+
    2022-10-19
  • 如何使用Require.js封装原生js轮播图
    小编给大家分享一下如何使用Require.js封装原生js轮播图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!index.html页面:<!DOCTYPE html>...
    99+
    2022-10-19
  • angular.js+require.js如何构建模块化单页面应用
    这篇文章给大家分享的是有关angular.js+require.js如何构建模块化单页面应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。AngularJS描述:angularj...
    99+
    2022-10-19
  • require.js使用方法的简单代码讲解笔记
    目录目的:基本API第一步:a.js定义第二步:引入这个模块加载文件页面需要加载多个js文件时,加载时浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;由于js文件之间...
    99+
    2022-12-17
    require.js
  • require.js与bootstrap结合怎么实现页面登录和页面跳转功能
    这篇文章主要介绍了require.js与bootstrap结合怎么实现页面登录和页面跳转功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。页...
    99+
    2022-10-19
  • chkdsk怎么用
    chkdsk是一个Windows命令行工具,用于检查和修复文件系统错误。以下是使用chkdsk命令的一些常见用法:1. 打开命令提示...
    99+
    2023-09-15
    chkdsk
  • mac怎么用
    这篇文章将为大家详细讲解有关mac怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。篇一、Mac的常用快捷键在一些 Apple 自己的键盘上,通常顶行中会有特殊按键,有音量图标、显示屏亮度图标和其他功能...
    99+
    2023-06-05
  • sitemesh怎么用
    这篇文章给大家分享的是有关sitemesh怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一,基本概念1,Sitemesh是一种页面装饰技术 : 1  :它通过过滤器(filte...
    99+
    2023-06-08
  • sed怎么用
    这篇文章给大家分享的是有关sed怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。例如,在多个系统、应用程序安装之后,我们往往需要对很多配置文件进行修改,用vi编辑器意味着耗费时间、重复劳动,而sed就可将我们...
    99+
    2023-06-09
  • Vim怎么用
    这篇文章主要为大家展示了“Vim怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vim怎么用”这篇文章吧。安装在 Ubuntu 中可以使用如下命令来安装 Vim:sudo apt-get i...
    99+
    2023-06-13
  • memtest怎么用
    要使用Memtest进行内存测试,您需要按照以下步骤进行操作:1. 下载Memtest软件:您可以从Memtest官方网站(http...
    99+
    2023-09-17
    memtest
  • chatGPT怎么用
    chatGPT使用的方法:1、登录chatgpt官网;2、按照步骤完成账号注册;3、注册完成后登陆,按自身需求调节白天黑夜模式;4、...
    99+
    2023-02-08
    chatGPT
  • Postman怎么用
    这篇文章主要介绍Postman怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、什么是 Postman(前世今生)Postman 诞生于 2013 年,一开始只是 Abhinav Asthana 着手于解决 A...
    99+
    2023-06-21
  • Ncat怎么用
    这篇文章主要为大家展示了“Ncat怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ncat怎么用”这篇文章吧。Ncat 是用于在网络上读取,写入,重定向和加密数据的通用命令行工具。它旨在成为...
    99+
    2023-06-27
  • MongoDB怎么用
    小编给大家分享一下MongoDB怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中...
    99+
    2023-06-27
  • Entity怎么用
    这篇文章主要介绍了Entity怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Entity怎么用文章都会有所收获,下面我们一起来看看吧。Entity是基于JPA规范。更详细的技术细节请参考JPA或Hiber...
    99+
    2023-06-26
  • crontab怎么用
    小编给大家分享一下crontab怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux crontab是用来定期执行程序的命令,当安装完成操作系统之后,默...
    99+
    2023-06-27
  • 怎么用Dapper
    本文小编为大家详细介绍“怎么用Dapper”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Dapper”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。dapper除了支持基础的CURD、存储过程以外,还支持操...
    99+
    2023-06-29
  • megui怎么用
    Megui是一个视频转码软件,用于将视频文件转换为其他格式。以下是使用Megui的一般步骤:1. 下载和安装Megui软件:可以在M...
    99+
    2023-09-17
    megui
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作