最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript使用高级模块化require.js的具体方法详解

来源:动视网 责编:小采 时间:2020-11-27 20:11:32
文档

JavaScript使用高级模块化require.js的具体方法详解

JavaScript使用高级模块化require.js的具体方法详解:本文介绍了require.js的具体使用方法,分享给大家,也给自己留个笔记。Require.js:RequireJS是一个非常小巧的javascript模块载入框架,是AMD(Asynchronous Module Definition,异步模块加载机制)规范最好的实现之一。最新版的requireJS压缩后只有
推荐度:
导读JavaScript使用高级模块化require.js的具体方法详解:本文介绍了require.js的具体使用方法,分享给大家,也给自己留个笔记。Require.js:RequireJS是一个非常小巧的javascript模块载入框架,是AMD(Asynchronous Module Definition,异步模块加载机制)规范最好的实现之一。最新版的requireJS压缩后只有
 本文介绍了require.js的具体使用方法,分享给大家,也给自己留个笔记。

Require.js:

RequireJS是一个非常小巧的javascript模块载入框架,是AMD(Asynchronous Module Definition,异步模块加载机制)规范最好的实现之一。最新版的requireJS压缩后只有14k,堪称非常轻量。它还同时可以和其他的框架协调工作,使用requireJS必将使我们的前端代码质量得以提升。

首先我们先来看一下一个普通的页面js加载

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script type="text/javascript" src="js/index02.js" ></script>
 </head>
 <body>
 <h1>this is a page.</h1>
 </body>
</html>

运行结果:

此时,如果我们不对弹出框做操作,页面就不会接着加载,就不会有页面内容,这并不是我们想要实现的结果。

下面我们用require.js进行操作:

index.html

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script src="js/require2.1.11.js"></script>
 <script type="text/javascript">
 require(["js/index","js/index01"],function(){
 console.log("当js加载成功后会执行的函数");
 },function(){
 console.log("当js加载失败后会执行的函数");
 });
 </script>
 </head>
 <body>
 </body>
</html>

index.js

首先页面上不再导入test02.js,只是导入了requireJS,其次在javascript中我们使用require()方法,在其中传递了一个数组的参数,实参为我们要导入的js文件的【路径+文件名称。

此时的运行结果:


可以看出,此时页面内容已经显现出来了。并不像前面我们传统的一样在等待js运行完成后页面再加载,而是页面加载完成后才运行js代码,这样在运行效率上就大大的提高了。

根据上面的代码,我们可以来分析requirejs的基本API:

requireJS会定义三个变量:define,require,requirejs

  1. require==requirejs,一般使用require更简短。

  2. define 用来定义一个模块

  3. require 加载依赖模块(引用定义好的模块),并执行加载完后的回调函数

require有三个参数:

加载网络文件

之前我们加载的都是本地的js文件,但是,有些时候我们又需要加载网络上的文件,那又该怎么加载呢?下面我们就来介绍一下怎样加载网络上的js文件.

我们现在以加载一个jquery.js文件为例:

在取网络上的文件时注意:

1、config方法的参数是一个对象
2、paths的值也是一个对象
3、当我们为网络上的库取名字是任意,但是建议取有意义的名字,别人可以通过名称知道你的网络资源是什么资源
4、库的值是一个数组,意味着可以多个同时写,防止网络异常取不到
5、特别注意:网络资源路径不能带后缀名,否则取不到
6、我们也可以先让去网络中去取,如果取不到,再在本地取,减轻本地服务的压力(属于项目优化)。

同样我们也可以将本地的配置到paths中:

上面的例子中重复出现了require.config配置,如果每个页面中都加入配置,必然显得十分不雅,requirejs提供了一种叫”主数据”的功能,我们首先创建一个main.js:

然后再页面中使用下面的方式来使用requirejs:

在官方提供了一种基于标签属性的方式:

将所有的配置和导入js都放在了main.js中,这样在页面只要这样一个标签就行了。

代码演示如下:

//index.html--此时,引入js文件只需一行代码
<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script type="text/javascript" data-main = "js/main" src="js/require2.1.11.js" ></script>
 </head>
 <body>
 <p>i am liyanan and this is a testn Page.</p>
 </body>
</html>

文档

JavaScript使用高级模块化require.js的具体方法详解

JavaScript使用高级模块化require.js的具体方法详解:本文介绍了require.js的具体使用方法,分享给大家,也给自己留个笔记。Require.js:RequireJS是一个非常小巧的javascript模块载入框架,是AMD(Asynchronous Module Definition,异步模块加载机制)规范最好的实现之一。最新版的requireJS压缩后只有
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top