这篇文章主要针对 javascript 模块化为大家进行简单解析,如何写一个模块,在页面中加载模块的方法,感兴趣的小伙伴们可以参考一下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
异步加载模块,依赖前置,提前执行。
Define 定义模块 define(['require','foo'],function(){return});
Require 加载模块 (依赖前置) require(['foo','bar'],function(foo,bar){});
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
Define 定义 exports 导出 define(function(require,exports,module){}); module 上存储了当前模块上的一些对象。
require(./a) 直接引入。Require.async 异步引入。
同步加载,依赖就近,延迟执行。
SeaJS 的应用
官方入门例子: http://seajs.org/docs/#quick-start
怎么写一个 SeaJS 模块?
- // 所有模块都通过 define 来定义
- define(function(require, exports, module) {
- // 通过 require 引入依赖
- var $ = require('jquery');
- var Spinning = require('./spinning');
- // 通过 exports 对外提供接口
- exports.doSomething = ...
- // 或者通过 module.exports 提供整个接口
- module.exports = ...
- });
在页面中加载模块
- //在 hello.html 页尾,通过 script 引入 sea.js 后,有一段配置代码:
- // seajs 的简单配置
- seajs.config({
- base: "../sea-modules/",
- alias: {
- "jquery": "jquery/jquery/1.10.1/jquery.js"
- }
- })
- // 加载入口模块
- seajs.use("../static/hello/src/main")
以上就是关于 javascript 模块化的简单介绍,希望对大家学习 javascript 模块化有所帮助。
来源: http://www.phperz.com/article/17/0218/266390.html