Requirejs高级应用(七):模块导出的三种方式及优先级
来源:互联网 发布:Mysql解除外键约束 编辑:程序博客网 时间:2024/06/04 18:51
在Requirejs中,模块导出共有三种方式:
1. 通过return方式导出,优先级最高;
2. 通关module.exports对象赋值导出,优先级次之;
3. 通过exports对象赋值导出,优先级最低;
上面的三种优先级是绝对的优先级,无关代码的顺序,例如即使将exports导出放在最后,也会被module.exports覆盖,另外导出的内容只能是优先级最高的那个,而且仅仅包含其内容,绝不会它们内容的组合或并集。
1. 通过return方式导出
return具有阻断性,所以无论怎么写,优先级都是最高的,并且这也是Requirejs的官方推荐方式,如下:
define(function(require, exports, module) { // 导出模块内容 return { username : 'yiifaa' }});
2. 通过modeule.exports对象赋值导出
与return类型,但优先级没有那么高,这是继承至COMMONJS的写法,如下:
define(function(require, exports, module) { // 导出模块内容 module.exports = { username : 'yiifaa' }});
3. 通过exports对象赋值导出
return与module.exports都可以直接导出,而不需要添加属性名,而exports对象导出时必须附加属性名,为什么?因为形参与实参的关系,如下:
define(function(require, exports, module) { // 以下的导出将会失败,必须首先添加属性,然后再赋值 // 错误的写法 exports = { username : 'yiifaa' } // 成功导出模块内容 // 正确的写法 exports. username = 'yiifaa'});
阅读全文
0 0
- Requirejs高级应用(七):模块导出的三种方式及优先级
- Requirejs高级应用(五):模块的唯一性鉴别
- Requirejs高级应用(二):消除requirejs的缓存模块
- Requirejs高级应用(三):同步加载
- Requirejs高级应用(三):全局变量
- Requirejs高级应用(六):模块无法加载错误的解决办法
- Hive 总结(七)hive导出数据的三种方式
- Requirejs高级应用(四):加载require
- Java高级应用---线程的三种创建方式
- css三种引入方式的优先级
- 三、Redis的高级命令及高级应用
- ios 开发中宏定义的三种方式及优先级
- Spring bean的初始化和销毁三种方式及优先级
- RequireJS进阶-模块的优化及配置的详解
- RequireJS进阶:模块的优化及配置的详解
- requireJs使用初探及模块定义define函数的用法
- 三种方式监听NGUI的事件方法(七)
- Action类的三种编写方式(七)
- 宝塔面板|Linux网站控制面板
- 安卓大圣归来短信轰炸机
- 再谈袁萌为何鸣冤叫屈?
- 破解js屏蔽chromeF12后页面自动跳转的解决方法
- Android四大核心组件之Activity
- Requirejs高级应用(七):模块导出的三种方式及优先级
- dnspython模块处理dns信息
- mysql分页原理和高效率的mysql分页查询语句
- 和v8干架之pow函数再实现
- 自己动手写注解框架
- 一个简单的自定义注解的实现
- 最新可用全套QQ等级加速代挂软件
- Spring事务配置的五种方式
- 文件夹名批量修改