seajs.reslove输出不正确
atian25 opened this issue · 2 comments
atian25 commented
加载seajs-text插件后
require.async(url, function(module){
console.debug('loaded template `%s` from %s', url, seajs.resolve(url));
})
输出:
loaded template category/category.tpl.html from http://localhost:9000/app/modules/category/category.tpl.html.js
后面多了.js
lizzie commented
require.async(url) 获取的 uri 是 http://localhost:9000/app/modules/category/category.tpl.html 的, 而 seajs.resolve(url) 是多了 .js .
是因为 seajs.resolve(url) 和 require.async(url)/seajs.use(url) 的路径解析不太一样. seajs-text.js 插件对 .tpl/.html 有在字符串最后加 #
, 这样在解析时不会自动加 .js 后缀, 这步在 seajs.resolve 中没有...
@lifesinger 源码中 https://github.com/seajs/seajs/blob/master/src/module.js#L400 是否要改成 seajs.resolve = Module.resolve
lifesinger commented
seajs.resolve 是比较纯粹的,修改成 Module.resolve 会带来一些隐患。这个暂不修改。