seajs使用记录

关于base的默认路径:
【官方说明】: 模块系统的基础路径即 base 的默认值,与 sea.js 的访问路径相关: 若是 sea.js 的访问路径是: http://example.com/assets/sea.js
则 base 路径为: http://example.com/assets/
当 sea.js 的访问路径中含有版本号时,base 不会包含 seajs/x.y.z 字串。 当 sea.js 有多个版本时,这样会很方便。
若是 sea.js 的路径是: http://example.com/assets/seajs/1.0.0/sea.js
则 base 路径是: http://example.com/assets/

seajs的默认路径依赖:127.0.0.1/foo/assets/seajs/sea.js,当前sea.js所在的目录或seajs文件夹所在的目录【assets/】
其余路径的话须要从新设置路径,好比127.0.0.1/foo/public/base/sea.js
我要设置public为默认路径,在config里设置base:’./public’

‘./‘是当前默认目录,当前默认目录是网站根目录开始

固然,也能够手工配置 base 路径:
seajs.config({
base: 'http://code.jquery.com/'
});
在模块代码里:
require.resolve('jquery');
// => http://code.jquery.com/jquery.js
【注意】:通常请不要配置 base 路径,把 sea.js 放在合适的路径每每更简单一致。
【参考】:https://github.com/seajs/seajs/issues/258jquery


引入后的调试方法:
alert(require.resolve('jquery'));
alert($); git


常见问题
问题一:
改变了jquery.js存放的目录后,文件已经加载,但没法引用。 这个是由于路径于不匹配致使的。 你用的是从seajs官方下载的jquery源,它是打包好的cmd模块,只不过比较特殊而已。ID 是 jquery/jquery/1.10.1/jquery,seajs的define默认ID是于路径想匹配的,因此改变路径后就引用不到。 若是是非官方的jquery源,你就必须本身处理,暴露出方法接口:github


jquery.js网站

define(function(require,exports,module) {
    module.exports = jQuery;
});


main.jsui

define(function(require, exports, module) {
    var $ = require('jquery');
})


或者直接引用spa

define(function(require, exports, module) {
     require('jquery');
})


【参考】:https://github.com/seajs/seajs/issues/962调试

相关文章
相关标签/搜索