diff --git a/packages/@vue/cli-service/lib/commands/serve.js b/packages/@vue/cli-service/lib/commands/serve.js index 24b5b03ec9..f37f3daea4 100644 --- a/packages/@vue/cli-service/lib/commands/serve.js +++ b/packages/@vue/cli-service/lib/commands/serve.js @@ -263,7 +263,8 @@ module.exports = (api, options) => { // so other commands can do api.service.run('serve').then(...) resolve({ server, - url: urls.localUrlForBrowser + url: urls.localUrlForBrowser, + networkUrl: urls.lanUrlForBrowser }) } else if (process.env.VUE_CLI_TEST) { // signal for test to check HMR diff --git a/packages/@vue/cli-service/lib/util/prepareURLs.js b/packages/@vue/cli-service/lib/util/prepareURLs.js index 2a26030231..15b99e87eb 100644 --- a/packages/@vue/cli-service/lib/util/prepareURLs.js +++ b/packages/@vue/cli-service/lib/util/prepareURLs.js @@ -29,6 +29,7 @@ module.exports = function prepareUrls (protocol, host, port, pathname = '/') { const isUnspecifiedHost = host === '0.0.0.0' || host === '::' let prettyHost, lanUrlForConfig let lanUrlForTerminal = chalk.gray('unavailable') + let lanUrlForBrowser if (isUnspecifiedHost) { prettyHost = 'localhost' try { @@ -44,6 +45,7 @@ module.exports = function prepareUrls (protocol, host, port, pathname = '/') { ) { // Address is private, format it for later use lanUrlForTerminal = prettyPrintUrl(lanUrlForConfig) + lanUrlForBrowser = formatUrl(lanUrlForConfig) } else { // Address is not private, so we will discard it lanUrlForConfig = undefined @@ -56,12 +58,14 @@ module.exports = function prepareUrls (protocol, host, port, pathname = '/') { prettyHost = host lanUrlForConfig = host lanUrlForTerminal = prettyPrintUrl(lanUrlForConfig) + lanUrlForBrowser = formatUrl(lanUrlForConfig) } const localUrlForTerminal = prettyPrintUrl(prettyHost) const localUrlForBrowser = formatUrl(prettyHost) return { lanUrlForConfig, lanUrlForTerminal, + lanUrlForBrowser, localUrlForTerminal, localUrlForBrowser }