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 相关文章推荐
jquery validate.js表单验证的基本用法入门
May 13 Javascript
16个最流行的JavaScript框架[推荐]
May 29 Javascript
javascript数组去重3种方法的性能测试与比较
Mar 26 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
Jun 11 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
Sep 25 Javascript
jQuery实现简单的DIV拖动效果
Feb 19 Javascript
js代码实现下拉菜单【推荐】
Dec 15 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&”)
Dec 23 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 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
?算你??的 PHP 程式大小
2006/12/06 PHP
微信API接口大全
2015/04/15 PHP
php编写简单的文章发布程序
2015/06/18 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
文本框的字数限制功能jquery插件
2009/11/24 Javascript
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Django实现自定义404,500页面教程
2017/03/26 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
如何在pycharm中安装第三方包
2020/10/27 Python
财务信息服务专业自荐书范文
2014/02/08 职场文书
经销商年会策划方案
2014/05/29 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
运动会加油稿20字
2014/11/15 职场文书
教师岗位职责范本
2015/04/02 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA