From 7d9ae366709756b86b9cbb8a4846e9a23f45f61e Mon Sep 17 00:00:00 2001 From: Neil Parley Date: Mon, 16 Jul 2018 09:12:07 +0100 Subject: [PATCH] Fix modern plugin when building multi page applications with output in sub directories --- .../@vue/cli-service/lib/webpack/ModernModePlugin.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-service/lib/webpack/ModernModePlugin.js b/packages/@vue/cli-service/lib/webpack/ModernModePlugin.js index f623bf356a..3f68871116 100644 --- a/packages/@vue/cli-service/lib/webpack/ModernModePlugin.js +++ b/packages/@vue/cli-service/lib/webpack/ModernModePlugin.js @@ -25,7 +25,10 @@ class ModernModePlugin { // get stats, write to disk await fs.ensureDir(this.targetDir) const htmlName = path.basename(data.plugin.options.filename) - const tempFilename = path.join(this.targetDir, `legacy-assets-${htmlName}.json`) + // Watch out for output files in sub directories + const htmlPath = path.dirname(data.plugin.options.filename) + const tempFilename = path.join(this.targetDir, htmlPath, `legacy-assets-${htmlName}.json`) + await fs.mkdirp(path.dirname(tempFilename)) await fs.writeFile(tempFilename, JSON.stringify(data.body)) cb() }) @@ -52,7 +55,9 @@ class ModernModePlugin { // inject links for legacy assets as