From 64933b262d72ec97b750c4309d78cbaa9e7e0f42 Mon Sep 17 00:00:00 2001 From: Andrei Date: Mon, 21 Feb 2022 18:17:21 +0200 Subject: [PATCH 1/6] Fix bug for configureWebpack.output = 'auto' For module-federation need to use output auto ```javascript const { defineConfig } = require('@vue/cli-service') const webpack = require('webpack') module.exports = defineConfig({ configureWebpack: { output: { publicPath: 'auto', // <- ERROR: Avoid modifying webpack output.publicPath directly. Use the "publicPath" option instead. }, optimization: { splitChunks: false, }, plugins: [ new webpack.container.ModuleFederationPlugin({ name: 'vue_cli_demo', filename: 'remoteEntry.js', exposes: { './HelloWorld.vue': './src/components/HelloWorld.vue', }, shared: { vue: { singleton: true, }, }, }), ], }, transpileDependencies: true }) --- packages/@vue/cli-service/lib/util/validateWebpackConfig.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-service/lib/util/validateWebpackConfig.js b/packages/@vue/cli-service/lib/util/validateWebpackConfig.js index dc61dce76b..1f179bd304 100644 --- a/packages/@vue/cli-service/lib/util/validateWebpackConfig.js +++ b/packages/@vue/cli-service/lib/util/validateWebpackConfig.js @@ -28,7 +28,7 @@ module.exports = function validateWebpackConfig ( ) } - if (target === 'app' && singleConfig.output.publicPath !== options.publicPath) { + if (target === 'app' && ![options.publicPath, 'auto'].includes(singleConfig.output.publicPath)) { throw new Error( `\n\nConfiguration Error: ` + `Avoid modifying webpack output.publicPath directly. ` + From 139e69312197eca29a961cd20205e3b3f0e26fbb Mon Sep 17 00:00:00 2001 From: andreisoroka Date: Fri, 25 Feb 2022 11:15:55 +0200 Subject: [PATCH 2/6] fixed prepareURLs --- packages/@vue/cli-service/lib/util/prepareURLs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-service/lib/util/prepareURLs.js b/packages/@vue/cli-service/lib/util/prepareURLs.js index 8917e38150..dcc76e8b84 100644 --- a/packages/@vue/cli-service/lib/util/prepareURLs.js +++ b/packages/@vue/cli-service/lib/util/prepareURLs.js @@ -17,14 +17,14 @@ module.exports = function prepareUrls (protocol, host, port, pathname = '/') { protocol, hostname, port, - pathname + pathname: pathname === 'auto' ? '' : pathname }) const prettyPrintUrl = hostname => url.format({ protocol, hostname, port: chalk.bold(port), - pathname + pathname: pathname === 'auto' ? '' : pathname }) const isUnspecifiedHost = host === '0.0.0.0' || host === '::' From 970ade975cc1e2eaa62d1f75d9b3772e393b7d97 Mon Sep 17 00:00:00 2001 From: andreisoroka Date: Fri, 25 Feb 2022 11:16:19 +0200 Subject: [PATCH 3/6] Revert "Fix bug for configureWebpack.output = 'auto'" This reverts commit 64933b262d72ec97b750c4309d78cbaa9e7e0f42. --- packages/@vue/cli-service/lib/util/validateWebpackConfig.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-service/lib/util/validateWebpackConfig.js b/packages/@vue/cli-service/lib/util/validateWebpackConfig.js index 1f179bd304..dc61dce76b 100644 --- a/packages/@vue/cli-service/lib/util/validateWebpackConfig.js +++ b/packages/@vue/cli-service/lib/util/validateWebpackConfig.js @@ -28,7 +28,7 @@ module.exports = function validateWebpackConfig ( ) } - if (target === 'app' && ![options.publicPath, 'auto'].includes(singleConfig.output.publicPath)) { + if (target === 'app' && singleConfig.output.publicPath !== options.publicPath) { throw new Error( `\n\nConfiguration Error: ` + `Avoid modifying webpack output.publicPath directly. ` + From 4e876b88ff34a494f3b15c6ab85b5ebc627f0832 Mon Sep 17 00:00:00 2001 From: andreisoroka Date: Fri, 25 Feb 2022 11:23:10 +0200 Subject: [PATCH 4/6] updated serve.js --- packages/@vue/cli-service/lib/commands/serve.js | 4 +++- packages/@vue/cli-service/lib/util/prepareURLs.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli-service/lib/commands/serve.js b/packages/@vue/cli-service/lib/commands/serve.js index 6ed4ee8b2c..87f9dbb82a 100644 --- a/packages/@vue/cli-service/lib/commands/serve.js +++ b/packages/@vue/cli-service/lib/commands/serve.js @@ -116,7 +116,9 @@ module.exports = (api, options) => { protocol, host, port, - isAbsoluteUrl(options.publicPath) ? '/' : options.publicPath + isAbsoluteUrl(options.publicPath) || options.publicPath === 'auto' + ? '/' + : options.publicPath ) const localUrlForBrowser = publicUrl || urls.localUrlForBrowser diff --git a/packages/@vue/cli-service/lib/util/prepareURLs.js b/packages/@vue/cli-service/lib/util/prepareURLs.js index dcc76e8b84..8917e38150 100644 --- a/packages/@vue/cli-service/lib/util/prepareURLs.js +++ b/packages/@vue/cli-service/lib/util/prepareURLs.js @@ -17,14 +17,14 @@ module.exports = function prepareUrls (protocol, host, port, pathname = '/') { protocol, hostname, port, - pathname: pathname === 'auto' ? '' : pathname + pathname }) const prettyPrintUrl = hostname => url.format({ protocol, hostname, port: chalk.bold(port), - pathname: pathname === 'auto' ? '' : pathname + pathname }) const isUnspecifiedHost = host === '0.0.0.0' || host === '::' From e2cf91a0bca4f9b428efe41a0b8d4cdba8f58d9e Mon Sep 17 00:00:00 2001 From: andreisoroka Date: Fri, 18 Mar 2022 13:44:51 +0200 Subject: [PATCH 5/6] support publicPath auto --- packages/@vue/cli-service/lib/commands/serve.js | 8 ++++---- packages/@vue/cli-service/lib/util/getBaseUrl.js | 3 +++ packages/@vue/cli-service/lib/util/resolveClientEnv.js | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 packages/@vue/cli-service/lib/util/getBaseUrl.js diff --git a/packages/@vue/cli-service/lib/commands/serve.js b/packages/@vue/cli-service/lib/commands/serve.js index 87f9dbb82a..a16ca7e492 100644 --- a/packages/@vue/cli-service/lib/commands/serve.js +++ b/packages/@vue/cli-service/lib/commands/serve.js @@ -5,6 +5,7 @@ const { hasProjectPnpm, IpcMessenger } = require('@vue/cli-shared-utils') +const getBaseUrl = require('../util/getBaseUrl'); const defaults = { host: '0.0.0.0', @@ -14,6 +15,7 @@ const defaults = { /** @type {import('@vue/cli-service').ServicePlugin} */ module.exports = (api, options) => { + const baseUrl = getBaseUrl(options); api.registerCommand('serve', { description: 'start development server', usage: 'vue-cli-service serve [options] [entry]', @@ -116,9 +118,7 @@ module.exports = (api, options) => { protocol, host, port, - isAbsoluteUrl(options.publicPath) || options.publicPath === 'auto' - ? '/' - : options.publicPath + isAbsoluteUrl(baseUrl) ? '/' : baseUrl ) const localUrlForBrowser = publicUrl || urls.localUrlForBrowser @@ -189,7 +189,7 @@ module.exports = (api, options) => { 'text/html', 'application/xhtml+xml' ], - rewrites: genHistoryApiFallbackRewrites(options.publicPath, options.pages) + rewrites: genHistoryApiFallbackRewrites(baseUrl, options.pages) }, hot: !isProduction }, projectDevServerOptions, { diff --git a/packages/@vue/cli-service/lib/util/getBaseUrl.js b/packages/@vue/cli-service/lib/util/getBaseUrl.js new file mode 100644 index 0000000000..e8b4497229 --- /dev/null +++ b/packages/@vue/cli-service/lib/util/getBaseUrl.js @@ -0,0 +1,3 @@ +module.exports = function getBaseUrl (options) { + return options.publicPath === 'auto' ? '' : options.publicPath +} diff --git a/packages/@vue/cli-service/lib/util/resolveClientEnv.js b/packages/@vue/cli-service/lib/util/resolveClientEnv.js index 2aa83f1554..dd4a7e2d56 100644 --- a/packages/@vue/cli-service/lib/util/resolveClientEnv.js +++ b/packages/@vue/cli-service/lib/util/resolveClientEnv.js @@ -1,3 +1,4 @@ +const getBaseUrl = require('./getBaseUrl') const prefixRE = /^VUE_APP_/ module.exports = function resolveClientEnv (options, raw) { @@ -7,7 +8,7 @@ module.exports = function resolveClientEnv (options, raw) { env[key] = process.env[key] } }) - env.BASE_URL = options.publicPath + env.BASE_URL = getBaseUrl(options) if (raw) { return env From e9c4080a82477fc9b2729993843169ca685598b4 Mon Sep 17 00:00:00 2001 From: andreisoroka Date: Fri, 18 Mar 2022 14:14:21 +0200 Subject: [PATCH 6/6] fix: eslint --- packages/@vue/cli-service/lib/commands/serve.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-service/lib/commands/serve.js b/packages/@vue/cli-service/lib/commands/serve.js index a16ca7e492..cc66855e8b 100644 --- a/packages/@vue/cli-service/lib/commands/serve.js +++ b/packages/@vue/cli-service/lib/commands/serve.js @@ -5,7 +5,7 @@ const { hasProjectPnpm, IpcMessenger } = require('@vue/cli-shared-utils') -const getBaseUrl = require('../util/getBaseUrl'); +const getBaseUrl = require('../util/getBaseUrl') const defaults = { host: '0.0.0.0', @@ -15,7 +15,7 @@ const defaults = { /** @type {import('@vue/cli-service').ServicePlugin} */ module.exports = (api, options) => { - const baseUrl = getBaseUrl(options); + const baseUrl = getBaseUrl(options) api.registerCommand('serve', { description: 'start development server', usage: 'vue-cli-service serve [options] [entry]', pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy