requireJs | 在html中使用AMD规范

requireJs规范就是:在项目配置文件中配置好“js的路径”和“js文档中的函数模块的引用”,然后加载Html过程中就会根据配置好的路径和对应模块名称去加载代码,这样实现了js和HTML的分离,在另外的配置文档中管理js模块之间的依赖关系,这样有利于维护。

例如:

我们以d3.js和c3.js为例,c3是一个基于d3的图表绘图库,只要依次引入d3.js和c3.js即可使用它的api,现在我们使用AMD规范来配置。

首先在HTML头部声明配置文件

 

<script src="../lib/require.js"></script>
<script src="./main.js"></script>


 配置文档是main.js
结构如下:

main.js

//格式require.config({})

require.config({
    //根路径
    baseUrl:"../lib",
    paths:{
        //根路径下的各个模块
        d3:"d3-5.4.0.min",
        c3:"c3.min"
    },
    //由于d3.js和c3.js不是AMD规范,需要shim配置
    shim:{
        c3:{
            //依赖于d3.js
            deps:["d3"],
            //导出文件
            exports:"c3.min"
        }
    }
})

然后在html中使用c3模块

​
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
    <title>test1</title>
    <head>
        <link href="../lib/c3.min.css" rel="stylesheet">
        <!--引入require.js和main.js-->
        <script src="../lib/require.js"></script>
        <script src="./main.js"></script>
    </head>
    <body>
        <!--声明id-->
        <div id="chart"></div>
    </body>
    <script>
        //现在只需要require模块c3了,因为main里已经配置了依赖
        require(["c3"], function(c3){
            c3.generate({
                //绑定id
                bindto: "#chart",
                data:{
                    columns:[
                        ['data1', 30, 200, 100, 400, 150, 250],
                        ['data2', 50, 20, 10, 40, 15, 25]
                    ]
                }
            })
        })
    </script>
</html>


​

require模块方法的格式:

​​//格式require([module], (object)=>{})
require(["c3"], (c3)=>{
    //c3就是一个实例对象
    //c3.foo()               
})

​

​

定义符合AMD规范模块的格式

define([], function(){
    /**    codes    **/
})

​

​

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值