File tree 3 files changed +18
-10
lines changed 3 files changed +18
-10
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ import { indexHtmlMiddleware } from './server/middlewares/indexHtml'
25
25
import { notFoundMiddleware } from './server/middlewares/notFound'
26
26
import { proxyMiddleware } from './server/middlewares/proxy'
27
27
import {
28
+ getServerUrlByHost ,
28
29
resolveHostname ,
29
30
resolveServerUrls ,
30
31
setupSIGTERMListener ,
@@ -276,7 +277,7 @@ export async function preview(
276
277
)
277
278
278
279
if ( options . open ) {
279
- const url = server . resolvedUrls . local [ 0 ] ?? server . resolvedUrls . network [ 0 ]
280
+ const url = getServerUrlByHost ( server , options . host )
280
281
if ( url ) {
281
282
const path =
282
283
typeof options . open === 'string' ? new URL ( options . open , url ) . href : url
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ import type { InlineConfig, ResolvedConfig } from '../config'
26
26
import { resolveConfig } from '../config'
27
27
import {
28
28
diffDnsOrderChange ,
29
+ getServerUrlByHost ,
29
30
isInNodeModules ,
30
31
isObject ,
31
32
isParentDirectory ,
@@ -659,15 +660,7 @@ export async function _createServer(
659
660
} ,
660
661
openBrowser ( ) {
661
662
const options = server . config . server
662
- const host = options . host
663
- let url : string | undefined
664
- if ( typeof host === 'string' ) {
665
- url = [
666
- ...( server . resolvedUrls ?. local ?? [ ] ) ,
667
- ...( server . resolvedUrls ?. network ?? [ ] ) ,
668
- ] . find ( ( url ) => url . includes ( host ) )
669
- }
670
- url ??= server . resolvedUrls ?. local [ 0 ] ?? server . resolvedUrls ?. network [ 0 ]
663
+ const url = getServerUrlByHost ( server , options . host )
671
664
if ( url ) {
672
665
const path =
673
666
typeof options . open === 'string'
Original file line number Diff line number Diff line change @@ -1656,3 +1656,17 @@ export const teardownSIGTERMListener = (
1656
1656
}
1657
1657
}
1658
1658
}
1659
+
1660
+ export function getServerUrlByHost (
1661
+ server : PreviewServer | ViteDevServer ,
1662
+ host : CommonServerOptions [ 'host' ] ,
1663
+ ) : string | undefined {
1664
+ if ( typeof host !== 'string' ) {
1665
+ return server . resolvedUrls ?. local [ 0 ] ?? server . resolvedUrls ?. network [ 0 ]
1666
+ }
1667
+
1668
+ return [
1669
+ ...( server . resolvedUrls ?. local ?? [ ] ) ,
1670
+ ...( server . resolvedUrls ?. network ?? [ ] ) ,
1671
+ ] . find ( ( url ) => url . includes ( host ) )
1672
+ }
You can’t perform that action at this time.
0 commit comments