上回书说到,当老系统中设置过seajs.config中的paths,而后续新增代码受到了paths的影响时怎么办呢?
比如如下代码:
seajs.config({
paths: {
'js': 'xxxxxxx/xxxxx'
},
alias: {
'a': 'js/a.js'
}
});
seajs.use('a');
这样a模块的js引入路径就变成了xxxxxxx/xxxxx/js/a.js。那么在不改动原有paths的情况下,我们如何按照想要的路径加载a代码呢?
可以使用'/js/a.js'来进行加载,因为paths对alias的解析代码是不会为最前端有‘/’的路径进行配置的。
这里就有必要看一看seajs是怎么处理路径的了,处理URI路径的代码如下,
function id2Uri(id, refUri) {
if (!id) return ""
id = parseAlias(id)
id = parsePaths(id)
id = parseAlias(id)
id = parseVars(id)
id = parseAlias(id)
id = normalize(id)
id = parseAlias(id)
var uri = addBase(id, refUri)
uri = parseAlias(uri)
uri = parseMap(uri)
return uri
}
可以看到这里会先解析alias,然后使用paths对alias进行拼装,再使用vars对alias进行处理,最后为uri进行base处理。
具体处理过程,这里就不赘述了,各位看官可以去参看一下seajs的源码。
分享到:
相关推荐
NULL 博文链接:https://bijian1013.iteye.com/blog/2259862
自己在公司需要使用seajs,就学习了seajs写了个手册和demo,欢迎阅读。
SeaJS Web 端的js 模块加载器
seajs-2.3.0.zip
提供了前端框架seajs的简要使用说明
knockout seajs .net中实战应用
seajs-2.2.0源码
seajs源码
seajs下载,包含自己总结的用法和规范
seajs-5分钟上手。。。。。。...................................................。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
第一次接触的可以下来看看,会用的就没必要下载了
本文实例讲述了JavaScript 模块化开发...SeaJs使用 引入sea.js的库 如何变成模块? define 如何调用模块? exports 和 seajs.use 如何依赖模块? require //html: [removed][removed] <script type="text/javascr
seajs入门完整案例,适合新手学习! seajs入门完整案例,适合新手学习!
seajs源文件以及一个帮助文档,文档介绍比较详细
seajs-css.js 用于seajs加载css文件,上课用的课件资源,大家有需要的可以随时下载。版本是非常好用的,作为一个学习模块化我们必须的知识插件
用于seajs的预加载使用,有需要的小伙伴可以免费下载使用。方便大家多多分享免费的资源,有问题随时给我们留言。希望能帮助大家解决更多的问题
Bootstrap和seajs结合的分页器,绝对好用嗷
开始学习seajs,模块化的js思想。SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现...
相关seajs简介,插件制作及js源码插件、jquery插件转换seajs插件的方法等
这是自己编写的模仿seajs模块加载的模块加载器,用于学习交流之用。大致模仿seajs的模块化加载实现。