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技术实现Tab页界面之二
Sep 21 Javascript
Javascript和Ajax中文乱码吐血版解决方案
Dec 21 Javascript
js换图片效果可进行定时操作
Jun 09 Javascript
10分钟学会写Jquery插件实例教程
Sep 06 Javascript
jQuery中removeData()方法用法实例
Dec 27 Javascript
javascript实现rgb颜色转换成16进制格式
Jul 10 Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 Javascript
Vue-Access-Control 前端用户权限控制解决方案
Dec 01 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
May 16 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中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
网页里控制图片大小的相关代码
2006/06/13 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
动态刷新 dorado树的js代码
2009/06/12 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
Python函数参数操作详解
2018/08/03 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
python热力图实现简单方法
2021/01/29 Python
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
社区工作者感言
2014/03/02 职场文书
网管求职信
2014/03/03 职场文书
教师党员公开承诺书
2014/03/25 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书