介绍

官方介绍
RequireJS是一个JavaScript文件和模块加载器。它针对浏览器内使用进行了优化,但可以在其他JavaScript环境(例如Rhino和Node)中使用。使用像RequireJS这样的模块化脚本加载器将提高代码的速度和质量。下面我们会使用一个实例对其引用方式、使用方法进行说明

目录

  • 介绍
  • 1、示例目录结构
  • 2、实例开发
    • 2.1、模板编写
    • 2.2、配置文件处理
    • 2.3、数据处理
    • 2.4、视图处理
    • 2.5、数据与视图绑定
    • 2.6、效果查看

1、示例目录结构

下图是使用RequireJS的常规目录结构介绍:
1、apps/data.js用于数据层处理,view.js用于视图层处理,index.js用于绑定数据和视图。
2、libs/中存放依赖组件jquery-xxx.js和require.js。
3、main.js是主配置文件,用于建立其它js文件和RequireJS关系。
4、index.html是一个视图模板。

2、实例开发

2.1、模板编写

index.html模板中需要使用脚本标签引入require.js,并且需要指定data-main="js/main.js"

<script data-main="js/main.js" src="js/libs/require.js"></script>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!-- 引入require.js --><script data-main="js/main.js" src="js/libs/require.js"></script>
</head>
<body><div id="testId"></div>
</body>
</html>

2.2、配置文件处理

在主配置文件main.js中,将需要引用的各js文件,交给requirejs管理。这里是给每一个js文件起一个别名,然后以对象形式注入到requirejs中,后续在其它js文件中可以直接使用别名调用。

//主配置文件
requirejs.config({//定义基础目录路径baseUrl:'js/',//创建文件映射关系,.js后缀不需要写paths:{"jquery":"libs/jquery-3.2.1","data":"apps/data","index":"apps/index","view":"apps/view"}
});//在requirejs中引入上面定义的js文件,$符号表示jquery对象
requirejs(["jquery","data","index","view"],function ($,data,index,view) {});

2.3、数据处理

data.js中定义一个数据处理函数,返回hello world文本。另外,我们可以看到requirejs使用define()函数进行自定义。

/***  数据定义:负责数据处理*/
define(function () {function getData() {return "hello world";}return{getData:getData}
});

2.4、视图处理

view.js中定义一个视图处理函数,里面包括了get方法和set方法,get方法用于绑定html模板中testId值,set方法用于给html模板赋值后暴露给外部调用

/***  视图定义:负责视图处理*/
define(["jquery"],function ($) {//get视图function getView() {return  $("#testId");}//set视图function setView(data) {getView().html(data);}return{setView:setView,}
});

2.5、数据与视图绑定

index.js中绑定数据,渲染视图

/***  绑定数据,渲染视图*/
define(["data","view"],function (data, view) {view.setView(data.getData);
});

2.6、效果查看

访问index.html界面,可以看到hello world文本渲染成功,同时在控制台也可以看到相关的js文件加载成功

RequireJS介绍与应用相关推荐

  1. requireJS介绍

    前端开发在几年前就已经趋于模块化了,requireJS是很久之前的东西,笔者也是了解前端模块化开发的时候才知道的,今天就与大家分享一下笔者自己的小笔记. requireJS详细介绍链接: http:/ ...

  2. requireJs学习06requirejs引入

    项目常见目录结构:js目录.index.html js目录下:apps目录.libs目录.main.js文件(主入口文件) index.html <!DOCTYPE html> <h ...

  3. Require使用方法详细讲解

    Require使用方法详细讲解 文章目录 Require使用方法详细讲解 一.AMD 规范 1,AMD 基本介绍 2,AMD 模块规范 二.RequireJS 介绍 1,什么是 RequireJS 2 ...

  4. 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi

    一.前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家.关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面. 二.技术架构 这两年a ...

  5. JavaSript模块规范 - AMD规范与CMD规范介绍[转]

    原文地址:http://blog.chinaunix.net/uid-26672038-id-4112229.html JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什 ...

  6. requireJS文件夹

    前言 对于像我这样的requireJS刚開始学习的人而言,requireJS最难理解的部分应该是它的路径问题.晚上随便折腾了一下,算是略微理清了这个文件夹问题吧. requireJS学习网址:requ ...

  7. Web前端开发必备:《Jquery实战》第3版 介绍

    目标读者 本书适合想深入学习jQuery的Web开发人员.全栈工程师.架构师.jQuery是互联网上最流行的JavaScript框架.本书的目标是希望读者成为Web高级开发人员,无论起点如何.本书深入 ...

  8. 使用 RequireJS 优化 Web 应用前端

    基于 AMD(Asynchronous Module Definition)的 JavaScript 设计已经在目前较为流行的前端框架中大行其道,jQuery.Dojo.MooTools.EmbedJ ...

  9. 在Html中使用Requirejs进行模块化开发

    在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理.这里就介绍下如何通过requirejs,实现html代码的模块化开发. 如何使用requirejs加载html Re ...

最新文章

  1. GeneratorSqlMapCustom(mybatis逆向工程)
  2. java加载图片到缓存_Android实现图片异步加载并缓存到本地
  3. 电子计算机微机调试员,电子计算机(微机)装配调试员国家职业标准
  4. 对于在git上面拉代码报“error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054“解决方法
  5. 编译安装 redis 2.2.14
  6. 信息系统项目管理师-信息化与信息系统考点笔记(下)
  7. 习惯看新闻头条 一个程序员分享的工作心得
  8. 登录微信用android设备,Android 之微信登录
  9. 【ZOJ - 4019】Schrödinger's Knapsack (dp,背包,贪心,组内贪心组间dp)
  10. 古天乐、胡歌登上核心期刊,他们的名字被用来命名一个新物种!
  11. 标记三维点_便携式3D扫描仪全自动三坐标测量机三维扫描设计扫描测量摄影
  12. java并发编程入门_探讨一下!Java并发编程基础篇一
  13. 一篇关于我是怎么理解喜欢上并且做好前端开发工作的文档
  14. 【zabbix系列】报警系统的设置和排除
  15. 常用nginx rewrite重定向-跳转实例
  16. cisco链路聚合配置
  17. Jquery.ajax使用
  18. Python修改屏幕分辨率
  19. 瑞尔IPO:一桩资本逼宫的上市计划
  20. 品牌营销案例拆解,一起来看看品牌们近期都有哪些精彩表现吧

热门文章

  1. 2019全年营收净利润双超预期 微盟开启“飞轮模式”
  2. 20.Spring学习笔记_基于配置文件的方式来配置 AOP(by尚硅谷_佟刚)
  3. 【分布式系统】使用 MQ 处理 2PC、3PC、本地事务表的分布式事务
  4. Python.openpyxl操作Excel
  5. python儿童编程例子代码-python儿童编程
  6. 曾遭作者“删库”的faker.js,现被社区接手;Apache Ambari 项目被弃用;FFmpeg 5.0 发布 | 开源日报
  7. 水善利万物而不争,处众人之所恶,故几于道
  8. 编译Android源码(9.0)
  9. 友盟对android的应用,Android 集成友盟统计
  10. 斗拱展开面积表_古建筑斗拱换算问题