Sea.js】的更多相关文章

* 为什么要模块化? 解决文件依赖 解决命名冲突 ; var var2 = 2; function fn1(){ } function fn2(){ } return { fn1: fn1, fn2: fn2 }; })(); node.js中的模块化 node中模块的引入是同步的,遵循CommonJS规范. sea.js        遵循CMD (通用模块定义) ,对于依赖的模块,就近依赖,延迟执行. sea.js写法 define(function(require,exports,modu…
在使用sea.js的如下写法引用jQuery文件时, //main.jsdefine(function(require,exports,module){ var $ = require('jquery-3.1.0.min'); $('#name').html('helloworld'); }) 会报错,提示$ is not a function: 原因在于jQuery是默认支持AMD规范的,而sea.js是遵循CMD规范进行加载:这两种规范对外提供模块时的定义方法不一样: // CMD defi…
当你的网站开发越来越复杂的时候,会经常遇到一下问题吗?1.冲突2.性能3.依赖如果在多人开发或者是复杂的开发过程中会经常遇到这些问 题,就可以用模块化开发来解决.以上问题是如何产生的?1.冲突:如果你写了一个commen.js,这个JS文件主要是写一些 公用的方法,比如选项卡tab,拖拽等等...当你写好这些JS之后 可能交给同事用.同事首先引入这个JS文件,有可能这个页面又 交给新同事开发,这个同事写了一个function,名为tab,这时这 个tab就和你写的公用JS文件里的tab方法起了冲…
上个月学了 require.js 现在顺便来学学 sea.js. 对比下这两种的区别,看自己喜欢哪个,就在接下来的项目中去使用它吧. seajs中的所有 JavaScript 模块都遵循 CMD 模块定义. 在 CMD 规范中,一个模块就是一个文件. 主要API有 define define(factory); // define 用来定义模块  factory 可以是一个函数,也可以是一个对象或字符串. define({"foo":"bar"}); define(…
模块加载,其实就是把js分成很多个模块,便于开发和维护.因此加载很多js模块的时候,需要动态的加载,以便提高用户体验. 在介绍模块加载库之前,先介绍一个方法. 动态加载js方法: function loadJs(url , callback){ var node = document.createElement("script"); node[window.addEventListener ? "onload":"onreadystatechange&qu…
Seajs是什么及sea.js 由来,特点以及优势 这篇文章主要介绍了Seajs的相关知识和和学习心得,适合刚接触SeaJS的同学,需要的朋友可以参考下,有更好的新手教程或文档,欢迎推荐.分享   1.Seajs简介   Seajs,一个Web模块加载框架,追求简单.自然的代码书写和组织方式,:Sea.js 遵循 CMD 规范,模块化JS代码.依赖的自动加载.配置的简洁清晰,可以让程序员更多地专注编码.   2.Seajs优缺点   优点: 1).提高可维护性. 2).模块化编程. 3).动态加…
可以对 Sea.js 进行配置,让模块编写.开发调试更方便. seajs.config seajs.config(options) 用来进行配置的方法. seajs.config({ // 别名配置 alias: { 'es5-safe': 'gallery/es5-safe/0.9.3/es5-safe', 'json': 'gallery/json/1.0.2/json', 'jquery': 'jquery/jquery/1.10.1/jquery' }, // 路径配置 paths: {…
在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范中,一个模块就是一个文件.代码的书写格式如下: define(factory); define Function define 是一个全局函数,用来定义模块. define define(factory) define 接受 factory 参数,factory 可以是一个函数,也可以是一个对象或字…
(7 个接口是最常用的) 一.seajs.config:用来对 Sea.js 进行配置. seajs.config({ // 设置路径,方便跨目录调用 paths: { 'arale': 'https://a.alipayobjects.com/arale', 'jquery': 'https://a.alipayobjects.com/jquery' }, // 设置别名,方便调用 alias: { 'class': 'arale/class/1.0.0/class', 'jquery': '…
Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单.极致的模块化开发体验. 使用 Sea.js,在书写文件时,需要遵守 CMD (Common Module Definition)模块定义规范.一个文件就是一个模块. define(function(require, exports) { exports.each = function (arr) { // 实现代码 }; exports.log = function (str) { // 实现代码 }; }); 通过 export…