首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

seajs简记

参考seajs快速入门 一、前端模块化的价值 解决命名冲突 摆脱文件依赖 性能优化 提高可维护性 seajs.use方法调用 通过exports暴露接口 通过require引入依赖 二、Sea.js...的常用 API seajs.config base string    Sea.js 在解析顶级标识时,会相对 base 路径来解析  seajs.use 用来在页面中加载模块 require...顶级标识:顶级标识不以点(.)或斜线(/)开始, 会相对模块系统的基础路径(即 Sea.js 的 base 路径)来解析 四、 使用步骤 引入sea.js文件(方法与引用jQuery相同) 配置信息 在...中,方式与写jQuery代码相同 1 seajs.config({ 2 3 // 别名配置 4 alias: { 5 'es5-safe': 'gallery.../es5-safe/0.9.3/es5-safe', 6 'json': 'gallery/json/1.0.2/json', 7 'jquery': 'jquery/jquery/

1.4K20

基于RequireJS和JQuery的模块化编程——常见问题解析

最近正在把逻辑很重的js拆分成模块,在一顿纠结是使用requirejs还是seajs的时候,最终还是偏向于requirejs。毕竟官方文档比较专业嘛......但是不同点是,require.js加载完会立即执行;而seajs则是等到进入主函数需要执行时才执行。...因此,如果已经习惯了异步编程,并且希望有完善的文档推荐使用requirejs;如果是想对执行顺序有特殊要求,又方便开发,那么也可以使用seajs。...会报一个异常: Uncaught TypeError: _table.dataTable is not a function 这是因为,dataTables并不是一个require风格的模块,因此直接这样引入...样例代码可以参考云盘,由于引入的资源不是很全,所以会报错,可以直接忽略,因为能执行UI插件就表示已经成功了。

2.8K100

深入理解JS异步编程五(脚本异步加载)

代码执行时,页面的解析、渲染以及其他资源的下载都要停下来等待脚本执行完毕 浏览器是按照从上到下的顺序解析页面,因此正常情况下,JavaScript脚本的执行顺序也是从上到下的,即页面上先出现的代码或先被引入的代码总是被先执行...我们知道,在HTML中加入JavaScript代码有多种方式,概括如下(不考虑require.js或sea.js等模块加载器): (1)正常引入:即在页面中通过标签引入脚本代码或者引入外部脚本...可以使用以下的方法: Window.setTimeout jQuery.delay jQuery.queue和jQuery.dequeue <script src="deferdemo.js"...CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。.../seajs/issues/242 区别: 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。

90230

JavaScript之无题之让人烦躁的模块化

在这个阶段,最有代表性的就是jQuery了,它的封闭性的核心实现,跟上面的代码几乎无异,我们可以看下jQuery的模块的实现: (function (global, factory) { factory...= window.$ = jQuery; } return jQuery; });   当然我这里略了很多,你看它,无非就是一个闭包,传入了window和jQuery本身,然后再绑定到window...我们回到上面的代码,按理来说,我第二次引入的b的name应该是“zaking”啊。但是实际上,在第一次引入之后的引入,并不会再次执行模块的内容,只是返回了缓存的结果。   ...2、CMD规范与SeaJs   由于RequireJs的一些问题,又出现了基于CMD规范的SeaJsSeaJs和RequireJs有一个最大的不同就是RequireJs希望可以通吃,但是SeaJs则更专注于浏览器...SeaJs的简单用法如下: // 所有模块都通过 define 来定义 define(function(require, exports, module) { // 通过 require 引入依赖

45940

AMD && CMD

前言 JavaScript初衷:实现简单的页面交互逻辑,寥寥数语即可; 随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀 问题: 这时候JavaScript...无模块       <script src="main.js...比如main.js需要使用<em>jquery</em>,但是,从上面的文件中,我们是看不出来的,如果<em>jquery</em>忘记了,那么就会报错。...//通过数组<em>引入</em>依赖 ,回调函数通过形参传入依赖 define(['Module1', ‘Module2’], function (Module1, Module2) { function foo...对于只读来说,即不允许修改<em>引入</em>变量的值,import的变量是只读的,不论是基本数据类型还是复杂数据类型。当模块遇到import命令时,就会生成一个只读引用。

1.8K10

module_ES6笔记13

但更大的可能是将来也“不能用”(还是只能在构建工具中用,仅存在于“编译期”) 一.AMD,CMD与CommonJS AMD/CMD,一点扩展知识如下: CommonJS是一套理论规范(比如js的理论规范是ES),而SeaJS...等各种实现可以称为模块化脚本加载器 CMD:Common模块定义,例如SeaJS AMD:异步模块定义,例如RequireJS 都是用来定义代码模块的一套规范,便于模块化加载脚本,提高响应速度 CMD与.../导出时重命名,import/export {api as newApi},引入时重命名主要解决命名冲突,导出时重命名可以实现别名($和jQuery) 支持默认引入/导出,能够引入CommonJS和AMD...export export {api1, api2...}语法,特点如下: 不需要在首行声明,可以在模块内外层作用域任何位置export 可以声明多个export,但要保证api名称无重复,名称重复可能会出错...个步骤 语法解析 检查语法错误 加载 递归加载所有被import的东西,具体怎么加载,没有写明,完全交由最终实现来定 连接 创建模块作用域,并把所有被import进来的东西塞进作用域 如果import出错

31510
领券