From 982d246486e937106dab009af3f963eb014705b1 Mon Sep 17 00:00:00 2001 From: pengbo43 Date: Wed, 11 Sep 2024 17:53:51 +0800 Subject: [PATCH 1/2] chore: add regWithBase --- packages/core/src/htmlPlugin.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/src/htmlPlugin.ts b/packages/core/src/htmlPlugin.ts index 51039f1..34fede2 100644 --- a/packages/core/src/htmlPlugin.ts +++ b/packages/core/src/htmlPlugin.ts @@ -338,8 +338,9 @@ function createRewire( baseUrl: string, proxyUrlKeys: string[], ) { + const regWithBase = path.join(baseUrl, reg) return { - from: new RegExp(`^/${reg}*`), + from: new RegExp(`^/${reg}*|^${regWithBase}*`), to({ parsedUrl }: any) { const pathname: string = parsedUrl.path From f7e158e0a11efcf2efd06833954d9a8cb70bedb7 Mon Sep 17 00:00:00 2001 From: pengbo43 Date: Wed, 11 Sep 2024 18:13:08 +0800 Subject: [PATCH 2/2] chore: add map with base confi --- packages/playground/mpaBase/.env | 2 + packages/playground/mpaBase/index.html | 16 +++++ packages/playground/mpaBase/other.html | 16 +++++ packages/playground/mpaBase/package.json | 19 ++++++ .../playground/mpaBase/public/favicon.ico | Bin 0 -> 4286 bytes packages/playground/mpaBase/public/inject.js | 1 + packages/playground/mpaBase/src/App.vue | 5 ++ packages/playground/mpaBase/src/main.ts | 16 +++++ packages/playground/mpaBase/src/other-app.vue | 6 ++ packages/playground/mpaBase/src/other-main.ts | 15 +++++ packages/playground/mpaBase/src/test.vue | 1 + packages/playground/mpaBase/vite.config.ts | 59 ++++++++++++++++++ 12 files changed, 156 insertions(+) create mode 100644 packages/playground/mpaBase/.env create mode 100644 packages/playground/mpaBase/index.html create mode 100644 packages/playground/mpaBase/other.html create mode 100644 packages/playground/mpaBase/package.json create mode 100644 packages/playground/mpaBase/public/favicon.ico create mode 100644 packages/playground/mpaBase/public/inject.js create mode 100644 packages/playground/mpaBase/src/App.vue create mode 100644 packages/playground/mpaBase/src/main.ts create mode 100644 packages/playground/mpaBase/src/other-app.vue create mode 100644 packages/playground/mpaBase/src/other-main.ts create mode 100644 packages/playground/mpaBase/src/test.vue create mode 100644 packages/playground/mpaBase/vite.config.ts diff --git a/packages/playground/mpaBase/.env b/packages/playground/mpaBase/.env new file mode 100644 index 0000000..0c16508 --- /dev/null +++ b/packages/playground/mpaBase/.env @@ -0,0 +1,2 @@ +NODE_ENV=dev +ENV=env diff --git a/packages/playground/mpaBase/index.html b/packages/playground/mpaBase/index.html new file mode 100644 index 0000000..eb67b37 --- /dev/null +++ b/packages/playground/mpaBase/index.html @@ -0,0 +1,16 @@ + + + + + + + test-<%- title %> + + + +
+
index app
+
<%- ENV %>
+
<%- NODE_ENV %>
+ + diff --git a/packages/playground/mpaBase/other.html b/packages/playground/mpaBase/other.html new file mode 100644 index 0000000..f8125ef --- /dev/null +++ b/packages/playground/mpaBase/other.html @@ -0,0 +1,16 @@ + + + + + + + <%- title %> + + + +
<%- ENV %>
+
<%- NODE_ENV %>
+
+
other page
+ + diff --git a/packages/playground/mpaBase/package.json b/packages/playground/mpaBase/package.json new file mode 100644 index 0000000..3dee587 --- /dev/null +++ b/packages/playground/mpaBase/package.json @@ -0,0 +1,19 @@ +{ + "name": "playground-map", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "dependencies": { + "vite-plugin-html": "workspace:*", + "vue": "^3.2.31", + "vue-router": "^4.0.14" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^2.2.4", + "@vue/compiler-sfc": "^3.2.31", + "vite": "^2.8.6" + } +} diff --git a/packages/playground/mpaBase/public/favicon.ico b/packages/playground/mpaBase/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/packages/playground/mpaBase/public/inject.js b/packages/playground/mpaBase/public/inject.js new file mode 100644 index 0000000..118ee41 --- /dev/null +++ b/packages/playground/mpaBase/public/inject.js @@ -0,0 +1 @@ +console.log('inject successfully!') diff --git a/packages/playground/mpaBase/src/App.vue b/packages/playground/mpaBase/src/App.vue new file mode 100644 index 0000000..1c57433 --- /dev/null +++ b/packages/playground/mpaBase/src/App.vue @@ -0,0 +1,5 @@ + diff --git a/packages/playground/mpaBase/src/main.ts b/packages/playground/mpaBase/src/main.ts new file mode 100644 index 0000000..43a1997 --- /dev/null +++ b/packages/playground/mpaBase/src/main.ts @@ -0,0 +1,16 @@ +import { createApp } from 'vue' +import App from './App.vue' +import { createRouter, createWebHistory } from 'vue-router' +// import { createRouter, createWebHashHistory } from 'vue-router' + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: '/test', + component: () => import('./test.vue'), + }, + ], +}) + +createApp(App).use(router).mount('#app') diff --git a/packages/playground/mpaBase/src/other-app.vue b/packages/playground/mpaBase/src/other-app.vue new file mode 100644 index 0000000..f97a9a3 --- /dev/null +++ b/packages/playground/mpaBase/src/other-app.vue @@ -0,0 +1,6 @@ + diff --git a/packages/playground/mpaBase/src/other-main.ts b/packages/playground/mpaBase/src/other-main.ts new file mode 100644 index 0000000..66dc818 --- /dev/null +++ b/packages/playground/mpaBase/src/other-main.ts @@ -0,0 +1,15 @@ +import { createApp } from 'vue' +import App from './other-app.vue' +import { createRouter, createWebHashHistory } from 'vue-router' + +const router = createRouter({ + history: createWebHashHistory(), + routes: [ + { + path: '/test', + component: () => import('./test.vue'), + }, + ], +}) + +createApp(App).use(router).mount('#app') diff --git a/packages/playground/mpaBase/src/test.vue b/packages/playground/mpaBase/src/test.vue new file mode 100644 index 0000000..e598902 --- /dev/null +++ b/packages/playground/mpaBase/src/test.vue @@ -0,0 +1 @@ + diff --git a/packages/playground/mpaBase/vite.config.ts b/packages/playground/mpaBase/vite.config.ts new file mode 100644 index 0000000..fc39e45 --- /dev/null +++ b/packages/playground/mpaBase/vite.config.ts @@ -0,0 +1,59 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { createHtmlPlugin } from 'vite-plugin-html' + +export default defineConfig({ + server: { + proxy: { + '/api': 'http://localhost:8080', + }, + }, + base: '/basetest/', + plugins: [ + vue(), + createHtmlPlugin({ + minify: true, + pages: [ + { + entry: 'src/main.ts', + filename: 'index.html', + template: 'index.html', + injectOptions: { + data: { + title: 'index', + injectScript: ``, + }, + tags: [ + { + injectTo: 'body-prepend', + tag: 'div', + attrs: { + id: 'tag1', + }, + }, + ], + }, + }, + { + entry: 'src/other-main.ts', + filename: 'other.html', + template: 'other.html', + injectOptions: { + data: { + title: 'other page', + }, + tags: [ + { + injectTo: 'body-prepend', + tag: 'div', + attrs: { + id: 'tag2', + }, + }, + ], + }, + }, + ], + }), + ], +})