Javascript中AMD规范下requirejs实现模块化编程

JS中模块化编程方法,就用实现了AMD规范的requireJS做例子。

  • 在html中加入引入require.js的代码

my.html中data-main后面跟随的就是我的入口JS,相当于其它语言中的main

 

<!DOCTYPE html>
<html>

<head>

</head>

<body>
    <h3>title1:</h3>
    <p id="idempty"></p>
    <h3>title2:</h3>
    <p id="idmymath"></p>
    <h3>title3:</h3>
    <p id="idmyson"></p>
    <h3>title4: </h3>
    <p id=idgirl></p>
    <script src="require.js" defer async="true" data-main="src/my.js">
    </script>

</body>

</html>

info.js

define(function () {
    var age = function (x) {
        return "年纪:" + x;
    }

    return {
        age: age
    };
});

girl.js

//使用了info模块
define(["info"],function (info) {
    var show = function (x) {
        return "girl.show  " + info.age(x);
    };

    return {
        show: show
    };
});

myson.js

define(function () {
    var show = function (x) {
        return "name + " + x;
    };
    return {
        show: show
    };
});

mymath.js


define(function(){
    var add = function(x,y){
        return x+y;
    };

    return{add:add};
});

my.js

//空模块依赖
require([], function () {
    document.getElementById("idempty").innerHTML = "require测试直接加载";
});

//同一目录下依赖
require(["mymath"], function (mymath) {
    document.getElementById("idmymath").innerHTML = " mymath = " + mymath.add(83, 3);
});


//直接paths定位模块位置
require.config({
    baseUrl: "src",
    paths: {
        "girl": "neighbor/girl",
        "myson": "children/myson",
        "info": "util/info"

    }
});

require(["girl", "myson"], function (girl, myson) {
    document.getElementById("idgirl").innerHTML = "g " + girl.show(83);

    document.getElementById("idmyson").innerHTML = "son " + myson.show("sssson");

})



 点击my.html浏览器中看执行结果

 

  • 1.模块写法

参考:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。

但是,Javascript不是一种模块化编程语言,它不支持""(class),更遑论"模块"(module)了。(正在制定中的ECMAScript标准第六版,将正式支持"类"和"模块",但还需要很长时间才能投入实用。)

Javascript社区做了很多努力,在现有的运行环境中,实现"模块"的效果。本文总结了当前"Javasc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值