resolvePath

resolvePath

コード

function resolvePath(path, base) {
  • 絶対 path
    if (path.match(/^https?:\/\//)) {
        return path
    }
    else if (path.match(/^\?/)) {
        return base.replace(/\?.+$/, '') + path
    }
  • 相対 path
  • path が / から始まらない場合
    else if (path.match(/^[^\/]/)) {
        return base.replace(/[^/]+$/, '') + path
    }
  • 相対 path
  • 上記以外
    else {
        return base.replace(/([^/]+:\/\/[^/]+)\/.*/, '\$1') + path
    }
}