从 1.1.0 升级到 1.2.0 的注意事项

理论上可以直接升级,除非有用到以下特性:

data-main 的路径解析规则发生变化,从 1.2.0 开始调整为与 seajs.use 保持一致,即 data-main="init" 等价 seajs.use("init"). 因此使用 1.1.0 的项目中如果有 data-main="xxx" 的,需要调整为 data-main="./xxx" 。请参考: #217

noConflict 方法移除。如果需要用到,可以自己修改下 sea.js 源码,将命名空间改成自己的。去掉该方法,是因为该方法的使用频率极低。

preload 功能简化。preload 在 1.2 中做了简化,必须在 use 之前配置才有效。具体请参考: #211

plugin 的加载方式发生变化。原来是 preload: 'plugin-text' 之类的,现在是 preload: 'seajs/plugin-text'. 详见: #219

require.load 废弃,从 1.2.0 开始不再存在。需要的可以用 Module._fetch 替代。一般用于插件开发。

require.constructor 含义变化。从 1.2.0 开始,require 只是一个普通的方法,constructor 是 Function. 有用到该属性做扩展功能的,请关注下 seajs.pluginSDK,目前所有扩展接口和工具方法都在这里。

module.id 的值发生变化。在 1.2.0 之前,module.id 始终为当前模块的绝对路径。1.2.0 之后,如果模块定义是 define(id, ...) ,则 module.id 与传给 define 的 id 参数的值一致。当未传 id 时,module.id 与 module.uri 的值一致。

posted @ 2012-09-17 15:19  microsoftzhcn  阅读(230)  评论(0编辑  收藏  举报