RequireJs模块化基础

RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中使用,但它也可以用在其他脚本环境,就像 Rhino and Node。使用RequireJS加载模块化脚本将提高代码的加载速度和质量。

requireJs下载

github地址:https://github.com/requirejs/requirejs

bower下载:

$ bower install requirejs

requirejs的基本api

  • define:定义模块函数,可以定义模块的同时依赖某些模块
  • require: 模块依赖函数
  • require.config :配置参数选项
  • baseUrl:用于加载模块的根路径。
  • paths:用于映射不存在根路径下面的模块路径。
  • shims:配置在脚本/模块外面并没有使用RequireJS的函数依赖并且初始化函数。例如angularjs并没有使用 RequireJS定义,但是你还是想通过RequireJS来使用它,那么你就需要在配置中把它定义为一个shim。
  • deps:加载依赖关系数组

简单演示案例

目录结构

这里写图片描述

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>requirejs模块化</title>
</head>
<body>
<h2>requirejs模块化</h2>
<button id="btn">test button</button>
<script src="lib/require.js" data-main="main.js"></script>
</body>
</html>

config.js

//配置信息
requirejs.config({
    baseUrl: './js',//配置依赖的参考路径
    paths: { //由于配置的依赖根路径为"./js",而jquery并不在这里,需要定义paths配置如下
        jquery: '../lib/jquery-1.10.1.min'
    }
});

main.js

/*
* 在没有配置baseUrl参数以前,
* 所有的依赖都是以入口html文件为根目录,
* 所以下面的依赖是未修改baseUrl路径之前的依赖
* */
require(['./config/config', './js/app']);

app.js

//依赖apple和banana模块
require(['jquery', 'apple', 'banana'], function ($, a, b) {
    console.log(a.name, b.name); //最终输出apple banana
    $('#btn').click(function () {
        alert(123);
    })
});

apple.js

//定义匿名模块,调用的时候以文件名为模块名称
define(function () {
    return {
        name: 'apple',
        price: 15
    }
});

banana.js

//定义匿名模块,调用的时候以文件名为模块名称
define(function () {
    return {
        name: 'banana',
        price: 10
    }
});

通过以上目录结构搭建项目,按F12能够看到输出了apple banana 信息,说明模块成功。
上面只是一个最简单的案例,并不足以说明requirejs的全部,更多能容请看下回分解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值