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的时间段实现代码
Aug 02 Javascript
datagrid框架的删除添加与修改
Apr 08 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
通过正则表达式实现表单验证是否为中文
Feb 18 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 Javascript
使用js Math.random()函数生成n到m间的随机数字
Oct 09 Javascript
Javascript常用小技巧汇总
Jun 24 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
Nov 11 Javascript
Vue组件简易模拟实现购物车
Dec 21 Vue.js
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之数组学习
2011/05/29 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
javascript 动态添加表格行
2006/06/22 Javascript
javascript 表单的友好用户体现
2009/01/07 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
JS设计模式之责任链模式实例详解
2018/02/03 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
python实现翻译word表格小程序
2020/02/27 Python
Python 面向对象部分知识点小结
2020/03/09 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
英国领先的独立酒精饮料零售商:DrinkSupermarket
2021/01/13 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
小学红领巾中秋节广播稿
2014/01/13 职场文书
银行求职信范文
2014/05/26 职场文书
幼儿园课题方案
2014/06/09 职场文书
教师求职简历自我评价
2015/03/10 职场文书
听证会主持词
2015/07/03 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
php 原生分页
2021/04/01 PHP