[前端]requireJS的知识分享

本文介绍了RequireJS在JavaScript模块化编程中的应用,包括其基本原理、配置方法及如何使用require和define函数。通过实例展示了模块ID的概念及其配置方式,帮助读者更好地理解和运用RequireJS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天和大家一起聊聊requireJS, requires主要是为了实现js代码的模块化,避免命名冲突,加快js代码的加载速度,为了更好的理解requirejs,进行如下总结:

RequireJS采用不同的方法来加载脚本,他鼓励模块化编程,使用RequireJS编程不但可以模块化编程而且他依旧可以运行的很快。

注:所谓的模块化编程,就是将不同功能的代码进行分文件管理,将具有相关功能的函数封装到一个文件中,用的时候只需要导入该文件即可

RequireJS鼓励使用模块ID,而不是像原来那样使用script标签使用url引入。

注:首先我们先搞清楚几个概念,模块ID:就是文件的代替者,指的是在main.js文件中,我们可以在require.config函数中,对不同的模块文件进行配置,具体如下图所示,而下图的jquery就是针对于'jquery-3.2.0'的模块id,这里可以去掉后缀js,因为requirejs默认都是js文件

require.config({

        	paths:{
            		jquery:'jquery-3.2.0'
        	}
	})

RequireJS加载代码时候,其相对路径为baseUrl,baseUrl通常被设置为data-main指定文件的目录:

注:BaseUrl也可以通过设置进行手动配置(通过RequireJS 的 config进行配置),若是没在config中进行配置,并且script标签没有指定data-main的话,那么默认目录为引入requireJS的HTML页面目录

requirejs.config({
    //默认情况下模块所在目录为js/lib
    baseUrl: 'js/lib',
    //当模块id前缀为app时,他便由js/app加载模块文件
    //这里设置的路径是相对与baseUrl的,不要包含.js
    paths: {
        app: '../app'
    }
});

具体步骤如下:

1. 导入requirejs包,设置data-main,data-main是requires的初始化执行文件,需要注意一点,data-main是异步加载的,如果加载了其他的js包,可能会出现加载的先后顺序问题

<script data-main="js/main.js" src="js/require.js" type="text/javascript"></script>

2. 主要函数:

requirejs.config 已经介绍过,不做过多解释

requires:

// 开始逻辑.
requirejs(['jquery', 'canvas', 'app/sub'],
function   ($, canvas, sub) {
    //jQuery, canvas and the app/sub module are all
    //loaded and can be used here now.
});

define:
define(['jquery'],function ($) {

    return {
        displayWidth:function (a) {
            console.log(a.offsetHeight)
        },
        displayChild:function (o) {
            console.log(o.childNodes)
        }
    }
})
若是模块具有依赖关系,第一个参数应该是一个数组,其项目为依赖名字,第二个参数是匿名函数,匿名函数在依赖项加载结束后会立即加载,函数会返回一个对象用以定义这个模块。
define(function () {
    //Do setup work here

    return {
        color: "black",
        size: "unisize"
    }
});
在编写和测试 JavaScript 代码时,确实不乏非常好的选择。不管怎样,代码编辑器通常倾向于令人讨厌的功能组合,对于初学者以及仅想尝试使用 JavaScript 中的新事物的开发人员而言,并不是最佳的解决方案。 JavaScript 代码编辑器 RunJs 中文版JavaScript 代码编辑器 RunJs 中文版 解决此问题的方法可能是 RunJS,它是一种极简主义的 JavaScript 暂存器,它提供了一种直接从您的计算机桌面编写和测试 JavaScript 代码的可访问且无畏的方式。 简单的 JS 编辑器,可供初学者和专家使用 如前所述,此应用程序背后的整个想法应尽可能简单。因此,该应用程序具有一个简单的 GUI,只有两个面板(一个用于编写代码,一个用于预览输出),而其他方面则不多。 当然,编辑器确实具有一些人们可能期望的基本功能,例如语法突出显示和缩进,以及实时代码预览功能(也可以将其关闭以允许您手动执行代码)。 绝对有更多的东西会让您思考 尽管总体上很简单,但是编辑器确实提供了不错的自定义功能。例如,从“设置”部分,您可以更改从 GUI 主题到字体及其大小的所有内容。此外,您可以选择使用行编号还是换行,以及如何处理所谓的不可见字符。 令人惊讶的是,您还可以扩展应用程序的基本功能。例如,您可以从其他 JavaScript 项目安装 NPM 软件包,导入节点模块,以及更改工作目录。 RunJS –创意小 JS 项目的理想场所 总而言之,如果您只是在寻找一个简单的 JS 代码编辑器来尝试基本的思想,而无需处理典型代码编辑器的复杂性就让您的创造力疯狂奔放,那么 RunJS 就是完美的选择。在测试过程中,我们发现的唯一小问题是该应用程序有时难以更改 UI 主题,需要多次重启。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值