您的位置:旺彩官网 > 设计资源 > 插件资源 > 内页

Sea.js的运行原理及入门讲解

旺彩官网 www.szczerze.com 核心提示: Sea js 追求简单、自然的代码书写和组织方式,提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口。

Sea.js 是一款现代的用于Web开发的??榧釉毓ぞ?,提供简单、极致的??榛逖?。Sea.js 由阿里、腾讯等公司共同维护。

为什么使用 Sea.js ?

Sea.js 追求简单、自然的代码书写和组织方式,具有以下核心特性:

  • 简单友好的??槎ㄒ骞娣?/strong>:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写??榇?。
  • 自然直观的代码组织方式:依赖的自动加载、配置的简洁清晰,可以让我们更多地享受编码的乐趣。

Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口。

兼容性

Sea.js 具备完善的测试用例,兼容所有主流浏览器:

  • Chrome 3+ ?
  • Firefox 2+ ?
  • Safari 3.2+ ?
  • Opera 10+ ?
  • IE 5.5+ ?

Sea.js 可运行在 Mobile 端,包括 Hybrid 模式的 App 上。理论上,Sea.js 可以运行在任何浏览器引擎上。

使用 Sea.js 的产品

使用Sea.js的公司很广泛:

腾讯朋友、腾讯微博、百姓网、支付宝、网易微博、有道云笔记、爱奇艺、阿里巴巴、一淘、淘宝、来往、麦包包、好知、clicki、雪球、 DNSPOD、PPTV,等等。

Sea.js 遵循 MIT 协议,无论个人还是公司,都可以免费自由使用。

5 分钟上手 Sea.js

这是个小游戏,调皮的字母来自神秘的大海深处。当鼠标轻轻滑过时,字母会旋转到正确位置。

下面花 5 分钟时间,来看看这个小项目如何实现。

目录结构

所有源码都存放在 GitHub 上:seajs/examples,目录结构为:

examples/
  |-- sea-modules      存放 seajs、jquery 等文件,这也是??榈牟渴鹉柯?
  |-- static           存放各个项目的 js、css 文件
  |     |-- hello
  |     |-- lucky
  |     `-- todo
  `-- app              存放 html 等文件
        |-- hello.html
        |-- lucky.html
        `-- todo.html

我们从 hello.html 入手,来瞧瞧使用 Sea.js 如何组织代码。

在页面中加载???/h3>

hello.html 页尾,通过 script 引入 sea.js 后,有一段配置代码:

javascript// seajs 的简单配置
seajs.config({
  base: "../sea-modules/",
  alias: {
    "jquery": "jquery/jquery/1.10.1/jquery.js"
  }
})

// 加载入口???
seajs.use("../static/hello/src/main")

sea.js 在下载完成后,会自动加载入口???。页面中的代码就这么简单。

??榇?/h3>

这个小游戏有两个???spinning.jsmain.js,遵循统一的写法:

javascript// 所有??槎纪ü?define 来定义
define(function(require, exports, module) {

  // 通过 require 引入依赖
  var $ = require('jquery');
  var Spinning = require('./spinning');

  // 通过 exports 对外提供接口
  exports.doSomething = ...

  // 或者通过 module.exports 提供整个接口
  module.exports = ...

});

上面就是 Sea.js 推荐的 CMD ??槭樾锤袷?。如果你有使用过 Node.js,一切都很自然。

构建部署

对于正式项目,在发布上线前,还需要对源码进行压缩、合并等操作。这可以通过 spm 或 Grunt 等工具来实现。简明教程请参考:构建工具

结束语

怎么样,Sea.js 入门真的只需 5 分钟吧:)

使用 Sea.js,可以规范??榈氖樾锤袷?、能自动处理??榈囊览?,还非常有助于代码组织、开发调试和性能优化。Sea.js 期待能给你提供简单、极致的??榛⑻逖?。我相信,你会爱上她的。

文档

sea.js的文档相当丰富。

Sea.js文档:http://seajs.org/docs/

Sea.js下载:https://github.com/seajs/seajs

------------------------------------------------------------------------------------------------------------------------------

Sea.js采用了和Node相似的CMD规范,使用require、exports和module来组织???。但Sea.js比起Node的不同点在于,前者的运行环境是在浏览器中,这就导致A依赖的B??椴荒芡降囟寥」?,所以Sea.js比起Node,除了运行之外,还提供了两个额外的东西:

   a.??榈墓芾?/p>

   b.??榇臃穸说耐?/p>

即Sea.js必须分为??榧釉仄诤椭葱衅?。加载期需要将执行期所有用到的??榇臃穸送焦?,在再执行期按照代码的逻辑顺序解析执行???。本身执行期与node的运行期没什么区别。

Sea.js需要三个接口:define 用来wapper???,指明依赖,同步依赖;use 用来启动加载期;require 实际上是加载期到执行期的桥梁。

??楸晔叮耗?閕d的标准参考Module Identifiers,简单说来就是作为一个??榈奈ㄒ槐晔?。

Factory:一个可以产生??榈墓こ?。node中的工厂就是新的运行时,而在Sea.js中(Tea.js中也同样),factory就是一个函数。这个函数接受三个参数。

依赖(Dependencies):依赖就是一个id的数组,即??樗览的?榈谋晔?/p>

文章源自 旺彩官网 旺彩官网 中国最具影响力的创意设计综合网站

下载地址

*提示:下载碰到问题,或者下载地址失效,请在下方评论区留言,我们会及时更新。

编辑:Beach

资讯标签: Sea Js 运行 原理 入门 讲解
搜索推荐
回到顶部