- RequireJS 教程
- RequireJS - 首页
- RequireJS - 概述
- RequireJS - 环境设置
- RequireJS - 配置
- RequireJS - AMD 模块
- RequireJS - 定义函数
- RequireJS - 优化器
- RequireJS - jQuery
- RequireJS - NodeJS
- RequireJS - Dojo
- RequireJS - CommonJS
- RequireJS - 插件
- RequireJS 有用资源
- RequireJS - 快速指南
- RequireJS - 有用资源
- RequireJS - 讨论
RequireJS - AMD 模块
RequireJS 中的模块是一个作用域对象,不在全局命名空间中使用。因此,全局命名空间不会受到污染。RequireJS 语法允许更快地加载模块,而无需担心跟踪依赖项的顺序。您可以在同一页面中加载同一模块的多个版本。
定义模块
使用 define() 函数定义模块;该函数还用于加载模块。
简单的名称/值对
如果模块只是一组名称和值对,则可以使用以下语法 -
define({ state: "karnataka", city: "bangalore" });
定义函数
模块还可以对框架使用函数,而不具有依赖关系。这可以通过使用以下语法来完成 -
define(function () { //Do setup work here return { state: "karnataka", city: "bangalore" } });
定义具有依赖项的函数
如果模块具有依赖项,则以下语法中显示了第一个参数(依赖项名称阵列)、第二个参数(定义函数)和定义模块的返回对象的位置 -
define(["./mnc", "./startup"], function(mnc, startup) { return { state: "karnataka", city: "bangalore", addCompany: function() { mnc.decrement(this); startup.add(this); } } } );
将模块定义为函数
模块不强制要求仅返回对象,还可以返回来自函数的任何有效值。以下语法用于将模块定义为函数 -
define(["./mnc", "./startup"], function(mnc, startup) { return function(title) { return title ? (window.title = title) : startup.storeName + ' ' + mnc.name; } } );
使用名称定义模块
在某些情况下,您可能必须将名称作为第一个参数包含到define() 中,以获得模块。这可以通过使用以下语法来完成 -
define("js2/title", ["js1/mnc", "js1/startup"], function(mnc, startup) { //Define js2/title object in here. } );
广告