热门文章> js require用法 >

js require用法

36氪企服点评小编
2022-03-18 12:52
2492次阅读

| 企服解答

js require用法包括了以下几个方面:1、加载 JavaScript 文件;2、data-main 入口点;3、定义模块;4、简单的值对;5、函数式定义。

js require用法js require用法

1、加载 JavaScript 文件

RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤。可以用它来加速、优化代码,但其主要目的还是为了代码的模块化。

RequireJS以一个相对于baseUrl的地址来加载所有的代码。 页面顶层<script>标签含有一个特殊的属性data-main,require.js使用它来启动脚本加载过程,而baseUrl一般设置到与该属性相一致的目录。

baseUrl亦可通过RequireJS config手动设置。如果没有显式指定config及data-main,则默认的baseUrl为包含RequireJS的那个HTML页面的所属目录。

RequireJS默认假定所有的依赖资源都是js脚本,因此无需在module ID上再加".js"后缀,RequireJS在进行module ID到path的解析时会自动补上后缀。你可以通过paths config设置一组脚本,这些有助于我们在使用脚本时码更少的字。

2、data-main 入口点

require.js 在加载的时候会检察data-main 属性

3、定义模块

模块不同于传统的脚本文件,它良好地定义了一个作用域来避免全局名称空间污染。它可以显式地列出其依赖关系,并以函数(定义此模块的那个函数)参数的形式将这些依赖进行注入,而无需引用全局变量。RequireJS的模块是模块模式的一个扩展,其好处是无需全局地引用其他模块。

RequireJS的模块语法允许它尽快地加载多个模块,虽然加载的顺序不定,但依赖的顺序最终是正确的。同时因为无需创建全局变量,甚至可以做到在同一个页面上同时加载同一模块的不同版本。

一个磁盘文件应该只定义 1 个模块。多个模块可以使用内置优化工具将其组织打包。

4、简单的值对

如果一个模块仅含值对,没有任何依赖,则在define()中定义这些值对就好了

5、函数式定义

如果一个模块没有任何依赖,但需要一个做setup工作的函数,则在define()中定义该函数,并将其传给define()

| 拓展阅读

js require的作用:

JavaScript语言本身是没有模块化的概念的,但是我们可以借助requirejs这个模块化工具,实现js代码的模块化。requirejs的作用,就是将项目中的代码,都写成模块化的东西,模块之间又可以相互依赖,让整个项目的可读性,可维护性变得更好,同时又减少了全局污染。

[免责声明]

文章标题: js require用法

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

消息通知
咨询入驻
商务合作