Require.JS中的几种define定义方式示例

本文主要给大家介绍的是关于Require.JS中define定义方式的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

定义简单的键值对

define({ 
 color: "black", 
 size: "unisize" 
}); 

定义不带依赖的函数

define(function () { 
 //Do setup work here 
 
 
 return { 
  color: "black", 
  size: "unisize" 
 } 
}); 

存在依赖的函数式定义

如果模块存在依赖:则第一个参数是依赖的名称数组;第二个参数是函数,在模块的所有依赖加载完毕后,该函数会被调用来定义该模块,因此该模块应该返回一个定义了本模块的object。依赖关系会以参数的形式注入到该函数上,参数列表与依赖名称列表一一对应。

define(["./cart", "./inventory"], function(cart, inventory) { 
  //return an object to define the "my/shirt" module. 
  return { 
   color: "blue", 
   size: "large", 
   addToCart: function() { 
    inventory.decrement(this); 
    cart.add(this); 
   } 
  } 
 } 
); 

将模块定义为一个函数

对模块的返回值类型并没有强制为一定是个object,任何函数的返回值都是允许的。此处是一个返回了函数的模块定义:

define(["my/cart", "my/inventory"], 
 function(cart, inventory) { 
  //return a function to define "foo/title". 
  //It gets or sets the window title. 
  return function(title) { 
   return title ? (window.title = title) : 
     inventory.storeName + ' ' + cart.name; 
  } 
 } 
); 

定义一个命名模块

你可能会看到一些define()中包含了一个模块名称作为首个参数:

define("foo/title", 
 ["my/cart", "my/inventory"], 
 function(cart, inventory) { 
  //Define foo/title object in here. 
 } 
); 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对菜鸟教程(cainiaojc.com)的支持。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。