seajs下require书写约定实例分析


Posted in Javascript onMay 16, 2018

本文实例讲述了seajs下require书写约定。分享给大家供大家参考,具体如下:

require 书写约定

使用 Sea.js 书写模块代码时,需要遵循一些简单规则。

只是书写和调试时的规范!!!构建后的代码完全不需要遵循下面的约定!!!!!!

1. 正确拼写

模块 factory 构造方法的第一个参数 必须 命名为 require

// 错误!
define(function(req) {
 // ...
});
// 正确!
define(function(require) {
 // ...
});

2. 不要修改

不要重命名 require 函数,或在任何作用域中给 require 重新赋值。

// 错误 - 重命名 "require"!
var req = require, mod = req("./mod");
// 错误 - 重定义 "require"!
require = function() {};
// 错误 - 重定义 "require" 为函数参数!
function F(require) {}
// 错误 - 在内嵌作用域内重定义了 "require"!
function F() {
 var require = function() {};
}

3. 使用直接量

require 的参数值 必须 是字符串直接量。

// 错误!
require(myModule);
// 错误!
require("my-" + "module");
// 错误!
require("MY-MODULE".toLowerCase());
// 正确!
require("my-module");

在书写模块代码时,必须遵循这些规则。其实只要把 require 看做是语法关键字 就好啦。

关于动态依赖

有时会希望可以使用 require 来进行条件加载:

if (todayIsWeekend)
 require("play");
else
 require("work");

但请牢记,从静态分析的角度来看,这个模块同时依赖 play 和 work 两个模块,加载器会把这两个模块文件都下载下来。 这种情况下,推荐使用 require.async 来进行条件加载。

希望本文所述对大家seajs程序设计有所帮助。

Javascript 相关文章推荐
yepnope.js使用详解及示例分享
Jun 23 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
js实现数字递增特效【仿支付宝我的财富】
May 05 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
JS中判断字符串存在和非空的方法
Sep 12 Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
Oct 30 Javascript
微信小程序加载机制及运行机制图解
Nov 27 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
Vue通过provide inject实现组件通信
Sep 03 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 #Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 #Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
May 16 #Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 #Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 #Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 #jQuery
vue keep-alive请求数据的方法示例
May 16 #Javascript
You might like
PHP5+UTF8多文件上传类
2008/10/17 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python读取指定日期邮件的实例
2019/02/01 Python
python实现打砖块游戏
2020/02/25 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
Python如何输出警告信息
2020/07/30 Python
Python如何telnet到网络设备
2021/02/18 Python
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
环境工程毕业生自荐信
2013/11/17 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
企业演讲稿范文
2013/12/28 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
2015年科协工作总结
2015/05/19 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers