Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

中文文档 #2

Closed
lifesinger opened this issue Jun 29, 2013 · 3 comments
Closed

中文文档 #2

lifesinger opened this issue Jun 29, 2013 · 3 comments

Comments

@lifesinger
Copy link
Member

通过 health 插件,可以分析当前页面模块的健康情况。

多版本共存

理想情况下,CMD 模块不用暴露全局变量,因此同一个模块的多个版本可以共存。

seajs.config({
  alias: {
    'jquery-1.4': 'jquery/jquery/1.4.2/jquery.js',
    'jquery-1.9': 'jquery/jquery/1.9.1/jquery.js'
  }
});

上面配置了两个别名,分别指向已完全 CMD 化的 jQuery 模块。这样,我们可以同时使用 jQuery 的不同版本。

define(function(require, exports) {

  var jq14 = require('jquery-1.4');
  var jq19 = require('jquery-1.9');

  // 用 jq14 兼容老代码
  // 用 jq19 书写新代码

});

对某些大型项目或时间已持续很长的项目来说,这种多版本的兼容性很重要。上面的用法在 Sea.js 里是允许的、是合理的。

但是,在团队协作开发时,特别是某些通用组件也在开发阶段时,很容易出现一个页面中,同时引入了同一个组件的多个版本。这是不小心出现的,为了后续的可维护性和页面性能,需要及早发现并修改掉。

通过 health 插件,同一个页面中出现同一个模块的多个版本时,我们可以获取到相关信息:

seajs.health() // return health data

// In health data, we can see
http://localhost/~lifesinger/jquery/jquery/1.4.2/jquery.js
http://localhost/~lifesinger/jquery/jquery/1.9.1/jquery.js

有了这些信息,如果是不小心出现的多版本共存问题,就可以及早发现并解决掉。


注:health 插件尚未完善,目前功能还极其有限。欢迎参与讨论: #1

@lepture
Copy link

lepture commented Jun 30, 2013

@lifesinger 请使用 jquery 的 family 来做例子。

@lifesinger
Copy link
Member Author

@lepture 嗯,老文档,忘了更新。已更新。

PS:spmjs 上怎么直接删除模块?目前 seajs 下有两个要删除掉:plugin-handlebars 和 seajs-heath(拼写错误)

@lepture 帮忙删除下-.-

@lepture
Copy link

lepture commented Jun 30, 2013

@lifesinger spm unpublish -h

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants