//无歧义,相对于根路径解析
define("..", ["/app/src/module/Base"], ..)
// 无歧义,顶级标识,相对于 base 基础路径解析
define("..", ["app/src/module/Base"], ..)
//有歧义,相对标识,此处相对于 当前模块 来解析
//此处的依赖看起来是依赖于【代码块(2)】中的 `模块3`
//但如果当前模块跟当前页面不在同一层目录下,就不会被解析为 `模块3`
define("..", ["./app/src/module/Base"],..)
模块内 require 其他模块的ID 解析规则 (3)
(第 3 层,路径可以相对于 alias 或 paths 来设置)
【相对标识】:相对 base 基础路径解析
复制代码 代码如下:
//代码块(4)
//config -- 还使用 [代码块 (1)]中的配置
define("..", [..], function(require){
//无歧义,相对于根路径解析
require("/app/src/module/Base");
});
define("..", [..], function(require){
// 无歧义,顶级标识,相对于 base 基础路径解析
require("app/src/module/Base");
});
define("..", [..], function(require){
//有歧义,相对标识,此处相对于 当前模块 来解析
//此处的依赖看起来是依赖于【代码块(2)】中的 `模块3`
//但如果当前模块跟当前页面不在同一层目录下,就不会被解析为 `模块3`
require("./app/src/module/Base");
})
特别提醒:模块内三处需要写ID的地方,不需要使用看起来相同的字符串,只要被解析为相同的模块即可。
总结:
1.paths 和 alias 的设置仅仅相当于一个变量,在哪里使用,就在那里替换为设定的值,然后再解析。
2.尽可能的使用【顶级标识】。
3.如果不能使用【顶级标识】,比如目录跨越比较大等,则尽量设置 alias 或 paths 通过一个【非相对路径】 标识 定位到一个目录,然后在这个标识下,再定义ID。
您可能感兴趣的文章: