Web前端开发requireJs学习研究(一)

2024-09-06 16:38

本文主要是介绍Web前端开发requireJs学习研究(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是requireJs?有什么用?用了有什么好处?马上稍等一一解答....

    最早的前端Js代码可能如下面这样的代码,相信大家都见过,如下面这段示例代码..
    //文件名字 calc.js//内容如下:function add(x,y){return x+y;};function sub(x,y){return x-y;};.....
然后在需要用到这些方法的地方,引用js
<script language="JavaScript" src="calc.js"></script>
// 假若还依赖其他js<script src="1.js"></script><script src="2.js"></script><script src="3.js"></script><script src="4.js"></script><script src="5.js"></script><script src="6.js"></script>
这样以来,有以下几点问题:
1.页面要等待js代码加载,完成才能加载
2.由于js文件之间存在依赖关系,因此必须严格保证加载顺序,依赖性最大的模块一定要放到最后加载,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。
3.空间污染

requireJS就是为了解决这两个问题而来
1)实现js文件的异步加载,避免网页失去响应;
2)管理模块之间的依赖性,便于代码的编写和维护,独立变量空间,防止污染

如何来使用requireJs?

1.创建test.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title1</title ></script>
</head>
<body>
body2
//也许你更喜欢,把javascript放这里,原因就不说了..
<script  data-main="main" 
src="http://apps.bdimg.com/libs/require.js/2.1.9/require.min.js"  >
</body>
</html>

2.创建main.js

require.config({baseUrl:"../js",//指定js代码的根路径paths : {"jquery" ://两个参数,如果CDN加载失败,就采用第二个参数,加载本地资源 ["http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min","util/jquery.min"],"jquery-cookie":["http://apps.bdimg.com/libs/jquery.cookie/1.4.1/jquery.cookie.min"],'jquery.tabs': "util/jquery.tabs.min"},shim: {//用于处理非AMD规范的JavaScript代码,什么是AMD规范?请百度,google..'jquery.tabs': {deps: ['jquery'],//此模块依赖的其它模块exports: 'jQuery.fn.tabs'//此模块的引用名字,eg:jquery用$}}
});
require(["jquery","j1"],function($,J1){//main.js运行后,jquery模块就有了,这里直接注入即可,j1同理,分别对应两个模块的引用对象function Controller() {// 继承于J1类J1.init.call(this);alert(this.add(3,4));//调用继承于J1.js的add函数alert(this.sub(4,3));//调用继承于J1.js的sub函数alert(this.type(3)); //调用继承于J1.js的type函数this.init();//调用本地的init函数}Controller.prototype.init=function () {alert("init load");}//初始化Controller类$(document).ready(function () {new Controller;});
});

3.创建J1.js

define(["jquery"],function ($){//注入jquery模块function Calc() {this.add = function (x,y){return x+y;};this.sub=function (x,y) {return x-y;};this.type=function (x) {return $.type(x);//用jquery的方法}};return {init: Calc //返回此Calc类,让其它模块继承};
});

简单描述以下上述代码的意思

html页面上的:
<script  data-main="main" src="http://apps.bdimg.com/libs/require.js/2.1.9/require.min.js"  ></script>
这个引用百度CDN的requirejs文件,加载完毕后,加载同级目录下的main.js文件。熟悉Java的朋友,可以简单吧requireJs看做是个spring,管理依赖注入的容器

mian.js:这个主要是实现,把项目依赖的js文件,让requirejs管理起来,注入到对应的模块去使用,

J1.js:主要写了一些公共的方法,让继承它的子类去使用。通过define定义一个模块,第一个参数,指定此模块的依赖其它的模块,第二个参数,指 注入成功后,的回调函数处理

上述代码,如有问题,欢迎纠正,学习阶段…………….

这篇关于Web前端开发requireJs学习研究(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142552

相关文章

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.