require.js【模块化编程】- 模块加载简例

今天去学习了一下javascript的模块化编程,写了个简单的例子。

———————————————— 这是我的第一篇技术性的小博文,希望和大家相互交流  ————————————————

这个列子我打算分两个部分罗列:

1.文件地图

2.源代码

demo.html:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>模块加载简例</title>
 6 <script  data-main="main" type="text/javascript" src="require.js"></script>
 7 8 </head>
 9 <body>
10     空页面
11 </body>
12 </html>

a.js

var Radd = function(numA,numB){
    return numA + numB;
}

b.js

//减法
var Rsub = function(numA,numB){
    return numA - numB;
}

//除法对象
function glinDiv(divisor){

    this.divisor = divisor;

    this.Rdiv = function(num){
        return num / this.divisor;
    }

}

c.js

//乘法
var Rmul = function(num,ples){
    return num * ples;
}

//实例化除法对像
myDiv = new glinDiv(4); /*==== 此处依赖 b.js 中定义的 glinDiv 对象 ====*/

main.js

//模块加载路径配置
require.config = {

    "a":"a",
    "b":"b",
    "c":"c"

}

//模块加载的顺序及回调函数-----------(其中“c”必须在“b”之后,因为“c”中的 “//实例化除法对像” 依赖“b”中的 “//除法对象”)
require(["a","b","c"],function(a,b,c){

    var num01 = 10;
    var num02 = 20;
    var pels = 2;

    //调用加载好的模块中的函数进行运算
     var tol = Rsub(Radd(num01,num02),Rmul(num01,pels));
    alert(myDiv.Rdiv(tol));//弹窗test

});

require.js(工具库,自己百度)

结语:欢迎各位同学交流指导,特别希望得到一些好的博文表述和展示方式方面的建议!

时间: 2024-07-31 22:11:04

require.js【模块化编程】- 模块加载简例的相关文章

JS模块化编程之加载器原理

世面上有好多JavaScript的加载器,比如 sea.js, require.js, yui loader, labJs...., 加载器的使用范围是一些比较大的项目, 个人感觉如果是小项目的话可以不用,  我用过seaJS和requireJS, 在项目中用过requireJS, requireJS是符合AMD,全称是(Asynchronous Module Definition)即异步模块加载机制 , seaJS是符合CMD规范的加载器. AMD__和__CMD AMD规范是依赖前置, CM

初步理解require.js模块化编程

初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程,这标志”Javascript模块化编程”正式诞生. 在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限:但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程. node.j

Sea.js 是一个模块加载器

1 模块定义define define(function(require,exports,module){ //require 引入需要的模块如jquery等 //var $ = require('./jquery'); //exports可以把方法或属性暴露给外部 exports.name = 'hi'; exports.hi = function(){ alert('hello'); } //module提供了模块信息 }); 2 使用定义好的模块seajs.use <!doctype ht

js与AMD模块加载

目的: 了解AMD规范与CMD规范,写一个模块加载器雏形. 基本概念: AMD是异步模块定义规范,而CMD是通用模块定义规范.其他的还有CommonJS Modules规范. 对于具体的规范,可以参考: https://github.com/amdjs/amdjs-api/wiki/AMD AMD规范 https://github.com/seajs/seajs/issues/242 CMD规范 http://www.zhihu.com/question/20351507/answer/1485

require.js模块加载js

RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一.最新版本的RequireJS压缩后只有14K,堪称非常轻量.它还同时可以和其他的框架协同工作,使用RequireJS必将使您的前端代码质量得以提升. requirejs能带来什么好处 官方对requirejs的描述: RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it

模块加载规范对比

一.commonJS模块加载规范 CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作.由于Node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用.浏览器端一般采用AMD模块加载方式或者ES6的模块加载标准. 模块导出方法(为防止混淆,建议一律采用module.exports而非exports): 模块导入方法:利用require //文件a.js module.exports

【模块化编程】理解requireJS-实现一个简单的模块加载器

在前文中我们不止一次强调过模块化编程的重要性,以及其可以解决的问题: ① 解决单文件变量命名冲突问题 ② 解决前端多人协作问题 ③ 解决文件依赖问题 ④ 按需加载(这个说法其实很假了) ⑤ ...... 为了深入了解加载器,中间阅读过一点requireJS的源码,但对于很多同学来说,对加载器的实现依旧不太清楚 事实上不通过代码实现,单单凭阅读想理解一个库或者框架只能达到一知半解的地步,所以今天便来实现一个简单的加载器 加载器原理分析 分与合 事实上,一个程序运行需要完整的模块,以下代码为例: 1

js模块化/js模块加载器/js模块打包器

之前对这几个概念一直记得很模糊,也无法用自己的语言表达出来,今天看了大神的文章,尝试根据自己的理解总结一下,算是一篇读后感. 大神的文章:http://www.css88.com/archives/7628(大神的文章写的很详细,建议先看完大神的文章) 一.js模块化 什么是js模块化,我们从历史说起. 1.一开始我们怎么写脚本?就是在html文件中用<script></script>写代码 这种方式的缺点:代码复用靠复制,基本是全局变量. 2.后来我们用js文件写代码,用<

Angular Material串串学客户端开发 2 - Node.js模块加载机制Require()

题外话解一下博客标题,因为第一篇文章评论中,有人质疑离题很远,说了半天和Angular Material没有半毛关系.其实我的的中心在后半句<串串学客户端开发>. require() 不要把这里的Require()和RequireJS混为一谈.不过有意思的是,Typescript的模块定义,甚至同时支持这两种模块机制. 导入和使用外部模块,只是简单的一句require(),看看angular/material/docs下的编译文件gulpfile.js的代码片段.对模块导入和使用有个直观的感觉