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 ajax属性async(同步异步)示例
Nov 05 Javascript
jQuery中andSelf()方法用法实例
Jan 08 Javascript
移动Web中图片自适应的两种JavaScript解决方法
Jun 18 Javascript
JS实现从连接中获取youtube的key实例
Jul 02 Javascript
JS实现图片的不间断连续滚动的简单实例
Jun 03 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
微信小程序 setData使用方法及常用错误解决办法
May 11 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
Jun 02 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
JSON 入门教程基础篇 json入门学习笔记
Sep 22 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
php 动态多文件上传
2009/01/18 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
JavaScript简单表格编辑功能实现方法
2015/04/16 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
js模糊查询实例分享
2016/12/26 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
python在windows下实现备份程序实例
2014/07/04 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
程序员岗位职责
2013/11/11 职场文书
关于打架的检讨书
2014/01/17 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
应用心理学专业求职信
2014/08/04 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
Java实现注册登录跳转
2022/06/16 Java/Android