kittyjs icon indicating copy to clipboard operation
kittyjs copied to clipboard

relativeUri方法bug

Open zhuping opened this issue 8 years ago • 4 comments

我现在定义了这样一个模块 //g.alicdn.com/thx/brix-release/0.1.4/brix-components/dropdown/dropdown.js

define(
  [
    'jquery', 'underscore',
    'brix/loader', 'components/base', 'brix/event',
    './dropdown.tpl.js'
  ],
  function(
    $, _,
    Loader, Brix, EventManager,
    template
  ) {

  })

在加载./dropdown.tpl.js的时候,传入relativeUri方法的参数分别为./dropdown.tpl.js//g.alicdn.com/thx/brix-release/0.1.4/brix-components/dropdown

function relativeUri(uri, base) {
    var segment = base.split('/').concat(uri.split('/'));
    var path = [];

    each(segment, function(part) {
      if (!part || part === '.') {
        return;
      }
      if (part === '..') {
        path.pop();
      } else {
        path.push(part);
      }
    });

    return path.join('/');
  }

最终返回g.alicdn.com/thx/brix-release/0.1.4/brix-components/dropdown/dropdown.tpl.js,少了//

zhuping avatar Jun 07 '16 12:06 zhuping

//g.alicdn.com/thx/brix-release/0.1.4/brix-components/dropdown/dropdown.js 这个模块路径是怎么配置的呢? 是在path里吗?

zengjialuo avatar Jun 12 '16 05:06 zengjialuo

定义在map里面

map: {
  '*': {
    'components/dropdown': 'http://g.alicdn.com/thx/brix-release/0.1.4/brix-components/dropdown/dropdown.js'
  }
}

zhuping avatar Jun 12 '16 09:06 zhuping

你应该定义在path里,可以试试

zengjialuo avatar Jun 13 '16 05:06 zengjialuo

还是不行,我参考 requireJs中的 trimDots方法改了下,现在可以了

zhuping avatar Jun 13 '16 12:06 zhuping