seajs/seajs — Issue #118: map bug
Author: lifesinger
Created: 2011-11-01 12:29:23+00:00
State: open
Labels: bug

建议一条 map rule: 将 path/to/a.js 映射到 path/to/__build/a.js

````
define(function(require) {

require.async('./a', function(a) {
// error, a is null!
});

});
````

原因分析：

require.async 在解析 './a' 时，通过映射，得到 path/to/__build/a.js

开始下载 __build/a.js:

````
define('./a', [], factory)
````

define 时，'./a' 无 map 解析时，已经是 __build/a.js, 经过 map, 变成了 __build/__build/a.js

这导致 memoized 的是 __build__build/a.js

和 require.reslove('./a') 得到的路径不一致，于是悲剧就出现了。
````