JS模块加载框架 SeaJS

SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制,兼容所有主流浏览器 SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,让开发可以专注于代码本身的逻辑 上手示例

html中加载初始化模块init.js,init 中调用 module1 模块,同时 module1 模块调用 module2 模块

模块的定义 SeaJS中使用“define”函数定义一个模块 define(id?, deps?, factory) id : 模块标识(选填),不填时,id会被默认赋值为此js文件的绝对路径 deps : 是模块依赖(选填) factory : 模块定义方法(必填) 例如 define('hello', ['jquery'], function(require, exports, module) { // 模块代码 }); 工厂函数factory 工厂函数是模块的主体和重点,他有三个参数: 1)require 模块加载函数,用于记载依赖模块 2)exports 接口点,将数据或方法定义在其上则将其暴露给外部调用 3)module 模块的元数据,存储了模块的元信息(module.id 模块的ID、module.dependencies 此模块依赖的所有模块的ID列表、module.exports 与exports指向同一个对象) 模块的寻址 (1)绝对地址——给出js文件的绝对路径 require("http://example/js/a"); (2)相对地址——用载入函数所在js文件的相对地址寻找模块 例如有 js/a.js,js/m/b.js 在b.js中调用上级级目录下的a模块 require("../a"); (3)基址地址——如果载入字符串既不是绝对路径也不是以”./”开头的相对位置,则相对SeaJS全局配置中的“base”来寻址

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-09-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏思考的代码世界

解决安装Samba时浏览器打开不成功

2310
来自专栏xingoo, 一个梦想做发明家的程序员

Elasticsearch 安装与启动

平台支撑 ES支持在不同的平台上运行,下面这幅图中,对号标记的是经过测试的平台,其他的也可以运行,但是可能会出现BUG。 ? 下载与安装 在官网下载地址就可以进...

2426
来自专栏鸿的学习笔记

日志采集技术笔记

使用Linux的rename机制保证文件写入要么成功,要么失败,绝对不能出现写了一半的情况。

3315
来自专栏康怀帅的专栏

Memcached 安装配置

官方网站:http://memcached.org/ 安装 下载,解压,进入文件夹 $ sudo apt install libsasl2-dev libeve...

2803
来自专栏Java成神之路

Java钉钉开发_01_开发前的准备

    首先登录开发者平台: 登录钉钉后台—>工作台—>自建应用—>应用开发,即可进入开发者平台

1114
来自专栏散尽浮华

Gitlab上采用rpm方式快速安装的操作记录

之前梳理了一篇Gitlab的安装CI持续集成系统环境---部署Gitlab环境完整记录,但是这是bitnami一键安装的,版本比较老。下面介绍使用rpm包安装G...

2535
来自专栏维C果糖

IntelliJ IDEA 中 Project 和 Module 的概念及区别

在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。接下来,...

26810
来自专栏编程坑太多

『中级篇』docker之CI/CD持续集成-gitlab安装(70)

PS:gitlab安装基本就是这样也不是很复杂,主要是必须更改源,国内的墙太高太宽了。

1204
来自专栏FreeBuf

DomLink:一款自动化的域发现工具

DomLink是一个自动化的域发现工具。用户只需向其提供一个域名,它就会帮助我们查找与之相关联的组织和电子邮件记录,并使用这些信息执行反向的WHOIS,然后你将...

1042
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Logrotate管理日志文件

Logrotate是一个系统实用程序,用于管理日志文件的自动轮换和压缩。如果未对日志文件进行轮换,压缩和定期修剪,则最终可能会占用系统上的所有可用磁盘空间。

1365

扫码关注云+社区

领取腾讯云代金券