mirror of
https://github.com/vuejs/vue.git
synced 2024-11-21 20:28:54 +00:00
fix(compiler-sfc): allow full hostnames in asset url base (#12732)
fix #12731
This commit is contained in:
parent
00458cd38d
commit
5c742eb2e0
@ -24,10 +24,15 @@ export function urlToRequire(
|
||||
// does not apply to absolute urls or urls that start with `@`
|
||||
// since they are aliases
|
||||
if (firstChar === '.' || firstChar === '~') {
|
||||
// Allow for full hostnames provided in options.base
|
||||
const base = parseUriParts(transformAssetUrlsOption.base)
|
||||
const protocol = base.protocol || ''
|
||||
const host = base.host ? protocol + '//' + base.host : ''
|
||||
const basePath = base.path || '/'
|
||||
// when packaged in the browser, path will be using the posix-
|
||||
// only version provided by rollup-plugin-node-builtins.
|
||||
return `"${(path.posix || path).join(
|
||||
transformAssetUrlsOption.base,
|
||||
return `"${host}${(path.posix || path).join(
|
||||
basePath,
|
||||
uriParts.path + (uriParts.hash || '')
|
||||
)}"`
|
||||
}
|
||||
@ -64,7 +69,7 @@ function parseUriParts(urlString: string): UrlWithStringQuery {
|
||||
// @see https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
|
||||
if ('string' === typeof urlString) {
|
||||
// check is an uri
|
||||
return uriParse(urlString) // take apart the uri
|
||||
return uriParse(urlString, false, true) // take apart the uri
|
||||
}
|
||||
}
|
||||
return returnValue
|
||||
|
Loading…
Reference in New Issue
Block a user