require(jquery); 内部处理是先替换 alias, 再替换 paths, 1) require('jquery') 当前解析为 jquer...
本周跟大家分享6月1日在深圳举办的腾讯大讲堂【Sea.js与前端技术平台梦】讲座视频。...下面为本期主讲嘉宾 支付宝前端基础技术负责人王保平(玉伯)的主题分享:《Sea.js 与前端技术平台梦》 视频内容
本文给大家分享sea.js知识总结,感兴趣的朋友一起学习吧 http://reactjs.cn/ http://reactjs.cn/react/docs/getting-started-zh-CN.html
配置 可以对 Sea.js 进行配置,让模块编写、开发调试更方便。 ---- seajs.config seajs.config(options) 用来进行配置的方法。...'' : 'json' ], // 调试模式 debug: true, // Sea.js 的基础路径 base: 'http://example.com/path/to/base...base String Sea.js 在解析顶级标识时,会相对 base 路径来解析。详情请参阅 模块标识 注意:一般请不要配置 base 路径,把 sea.js 放在合适的路径往往更简单一致。...插件的配置 插件可以给 Sea.js 添加配置项,请查看具体插件了解相关配置。 配置文件 配置可以直接写在 html 页面上,也可以独立出来成为一个文件。
本文将从实际项目中遇到的问题出发,讲述模块化能解决哪些问题,以及如何使用 Sea.js 进行前端的模块化开发。 恼人的命名冲突 我们从一个简单的习惯出发。...的 YUI2 项目。下面是一段真实代码,来自 Yahoo! 的一个开源项目。...在 YUI3 项目中,引入了一种新的命名空间机制。...当项目越来越复杂,众多文件之间的依赖经常会让人抓狂。下面这些问题,我相信每天都在真实地发生着。 通用组更新了前端基础类库,却很难推动全站升级。...为了方便描述,我们使用 Sea.js 来作为模块化开发框架。 使用 Sea.js 来解决 Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单、极致的模块化开发体验。
模块化开发是 JS 项目开发中的必备技能,它如同面向对象、设计模式一样,可以兼顾提升软件项目的可维护性和开发效率。 模块之间通常以全局对象维系通讯。在小游戏中,GameGlobal 是全局对象。...简言之,除了在浏览器项目中使用 sea.js,其它类型项目均建议直接使用原生的 ES6 模块规范。...sea.js 是一个模块加载器,是 AMD 规范的主要实现者之一。...sea.js 作为 AMD 规范的升级版,简化了使用方法,在使用上更加方便,值得推崇。但是 sea.js 便是浏览器开发中最佳的模块化解决方案吗?未必,还要看是什么类型的项目,后面会讲到。...在浏览器 JS 开发项目中,因为从服务器加载文件需要时间,使用 CommonJS 规范肯定是不合适了。至于是使用原生的 ES 模块规范,还是使用sea.js,要看具体场景。
先看问题: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>变量作用域问题</title...
有的推荐第三方框架,比如 In.js、requrieJS、sea.js、lab.js等。这个开阔了眼界,以前只知道sea.js,省去了自己搜索的麻烦。...主要看的是sea.js,目前简单的理解是:一个加载js的机制 + 模块化编程(CMD规范)的理念。这个是淘宝用的,肯定很强大、很结实了。那么我是不是拿来用呢?...如果我们要做五个项目,每个项目都是一个独立的站点,那么对于共用的js文件是怎么处理的呢?1、每个项目站点都放一份,引用自己站点里的。2、做一个独立的站点存放共用的js,然后其他的项目都统一到这里引用。...目前我做的项目是,由js文件服务来搞定js文件的加载,然后写点处理业务逻辑的代码就ok了。 想说的还有很多,只是思路有点乱。后续要上具体的代码了,不知道大家是不是喜欢。 ps: 面对的问题。...我做项目时,常常会将一些通用的、底层的功能抽象出来,独立成一个个函数,比如 function each(arr) { // 实现代码 } function log(str) { // 实现代码
v=20170215:61) t.exec (sea.js:2) t.use.e.callback (sea.js:2) t.onload (sea.js:2) t.load (sea.js:2...) d (sea.js:2) onload (seajs-css.js:110) ==== line:6272, [http://tmisc.home.news.cn/search/...v=20170215] , [] line:2, [http://tmisc.home.news.cn/search/font/js/base/sea.js] , [t.exec] line:2,.../search/font/js/base/sea.js] , [t.onload] line:2, [http://tmisc.home.news.cn/search/font/js/base/sea.js...] , [t.load] line:2, [http://tmisc.home.news.cn/search/font/js/base/sea.js] , [d] line:143, [http:/
先来看下,它在维基百科上的定义: CommonJS 是一个项目,其目标是为 JavaScript 在网页浏览器之外创建模块约定。...创建这个项目的主要原因是当时缺乏普遍可接受形式的 JavaScript 脚本模块单元,模块在与运行JavaScript 脚本的常规网页浏览器所提供的不同的环境下可以重复使用。...2、CMD (Common Module Definition) 和 AMD 类似,CMD 是 Sea.js 在推广过程中对模块定义的规范化产出。Sea.js 是阿里的玉伯写的。...Sea.js 官网这么介绍 Sea.js: "Sea.js 追求简单、自然的代码书写和组织方式,具有以下核心特性:" "简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js...来看看 CMD 规范的实现: 首先要在 html 文件中引入 sea.js 工具库
参考seajs快速入门 一、前端模块化的价值 解决命名冲突 摆脱文件依赖 性能优化 提高可维护性 seajs.use方法调用 通过exports暴露接口 通过require引入依赖 二、Sea.js...的常用 API seajs.config base string Sea.js 在解析顶级标识时,会相对 base 路径来解析 seajs.use 用来在页面中加载模块 require...顶级标识:顶级标识不以点(.)或斜线(/)开始, 会相对模块系统的基础路径(即 Sea.js 的 base 路径)来解析 四、 使用步骤 引入sea.js文件(方法与引用jQuery相同) 配置信息 在...'' : 'json' 29 ], 30 31 // 调试模式 32 debug: true, 33 34 // Sea.js 的基础路径 35 base: 'http://example.com.../path/to/base/', 36 37 // 文件编码 38 charset: 'utf-8' 39 }); 配置sea.js的基础路径 及加载模块 1 通过 use 方法,可以在页面中加载任意模块
(正在考虑要不要使用sea.js) 5、 Js服务加载的js文件,不需要做任何修改。当然也不负责各个文件里的函数名称是否冲突。 Sea.js追求自然编程,代码要写的自然。...只是在加载js这块和sea.js的思路有点不同。 ...就像我们写C#代码,新建一个项目的时候,VS会把常用的dll引用进来;新建一个页面的时候,VS会把常用的命名空间using上,不需要我没再去操心了。...尤其是一边开发UI,一边开发项目的时候。 6、 怎么还有css的事? Css也是要加载的,一般一个项目的各个页面用的css都是一样的。这里也顺便一起加载了。 7、 配置信息里都有啥? ...看了sea.js的介绍,里面也提到了命名空间的方式,是yahoo用过。Sea.js并不推荐,因为使用的时候要记住长长的命名空间。但是我觉得这个不算事呀。
我们通过sea.js来加载我们定义的模块(这会儿遵循CMD规范)并使用相应的数据。...首先,当然是要下载sea.js,可以直接去 http://seajs.org/docs/#downloads 直接下载代码包,解压后 在 /dist/目录下可以 找到 sea.js CMD规范是懒加载,...index.html: 首先包含资源sea.js ,再包含主模块,这里因为要执行主模块中返回的数据,所以使用了回调函数的处理 //加载入口文件main.js,默认后缀js自动匹配 seajs.use('.
回顾 之前也写了几篇关于javascript模块的博客,链接如下: 回头再看JS模块化编程[2] 回头再看JS模块化编程之AMD[3] sea.js的同步魔法[4] 近几天准备总结一下javascript...factory()) } else if (typeof define === 'function' && define.cmd) { console.log('是CMD模块规范,如sea.js...给个sea.js调用UMD的效果页面链接,sea.js调用UMD模块[9] 而nodejs调用UMD模块需要执行node命令, node umd-simple-used-by-nodejs 效果如下:...'我调用了依赖模块', depModule) // ...省略了一些代码,去代码仓库看吧 return { name: '我自己是一个umd模块' } })) 给个sea.js...的同步魔法: http://hexo.wbjiang.cn/sea.js%E7%9A%84%E5%90%8C%E6%AD%A5%E9%AD%94%E6%B3%95.html [5] Git仓库: https
模块系统 Sea.js 是一个适用于 Web 浏览器端的模块加载器。在 Sea.js 里,一切皆是模块,所有模块协同构建成模块系统。Sea.js 首要要解决的是模块系统的基本问题: 模块是什么?...在 Sea.js 里,我们专注于 JS 模块(其他类型的模块可以转换为 JS 模块): 模块是一段 JavaScript 代码,具有统一的基本书写格式。模块之间通过基本交互规则,能彼此引用,协同工作。...Sea.js 遵循的是 CMD 规范,会在接下来的文档中详细阐述。 延伸阅读 function / bind 的救赎 继承与混合,略谈系统的构建方式
安装 Linux 平台 创建目录 # 项目位置 mkdir -p /data/tools/mm_wiki # 文档存储位置 mkdir -p /data/tools/mm_wiki/md 进入目录 cd...conf/ -v /data/mm-wiki/data:/data/mm-wiki/data/ --name mm-wiki eahom/mm-wiki:v0.1.7 # 本地构建最新代码 # 构建项目镜像...= function (exports) { var $ = jQuery; // if using module loader(Require.js/Sea.js...{ module.exports = factory; } else if (typeof define === "function") // AMD/CMD/Sea.js...editormd"], function(editormd) { factory(editormd); }); } else { // for Sea.js
}, { "id": 2 }, { "id": 3 } ] } Sea.js...(CMD) 因为 Sea.js 社区尚未提供 webpack 插件,所以 Mock.js 暂不完整支持通过 Sea.js 加载。...一种变通的方式是,依然通过 Sea.js 配置和加载 Mock.js,然后访问全局变量 Mock。
对于 CMD 规范的具体实现是 Sea.js,前端里如果想使用 CMD 规范的模块化技术,需要借助 Sea.js。...,并放到项目中 Sea.js:https://github.com/seajs/seajs/releases 新建作为模块的文件,如 module.js,并通过 define 定义模块 //module.js...小结 其实,CMD 跟 CommonJS 很类似,甚至在模块化方面的工作,可以很通俗的将 sea.js 理解成 node.js 所做的事,只是有些 node.js 能完成但却无法通过 sea.js 来负责的工作需要开发人员手动处理...,所以项目中也需要先加载 Sea.js,然后再执行主入口的 js 代码,需要在 HTML 中使用类似如下命令: <script...之前,需要先用 npm 初始化我们的项目。
Sea.js 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 环境中。 遵循的规范不同。...RequireJS 遵循 AMD(异步模块定义)规范,Sea.js 遵循 CMD (通用模块定义)规范。规范的不同,导致了两者 API 不同。...Sea.js 更贴近 CommonJS Modules/1.1 和 Node Modules 规范。 推广理念有差异。...Sea.js 不强推,采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略。 对开发调试的支持有差异。...Sea.js 采取的是通用事件机制,插件类型更丰富。 总之,如果说 RequireJS 是 Prototype 类库的话,则 Sea.js 致力于成为 jQuery 类库。
先来看下,它在维基百科上的定义: CommonJS 是一个项目,其目标是为 JavaScript 在网页浏览器之外创建模块约定。...创建这个项目的主要原因是当时缺乏普遍可接受形式的 JavaScript 脚本模块单元,模块在与运行JavaScript 脚本的常规网页浏览器所提供的不同的环境下可以重复使用。...return age } })(module, module.exports, require) (滑动可查看) 知道这个原理后,就很容易把符合 CommonJS 模块规范的项目代码...2、CMD (Common Module Definition) 和 AMD 类似,CMD 是 Sea.js 在推广过程中对模块定义的规范化产出。Sea.js 是阿里的玉伯写的。...Sea.js 官网这么介绍 Sea.js: "Sea.js 追求简单、自然的代码书写和组织方式,具有以下核心特性:" "简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js
领取专属 10元无门槛券
手把手带您无忧上云