@fchc8/vite-plugin-multi-page 1.9.1 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README-EN.md CHANGED
@@ -211,6 +211,8 @@ export default defineConfig({
211
211
  - **`strategy`**: Group by strategy, e.g., `/dist/mobile/page1.html`, `/dist/desktop/page1.html`
212
212
  - **`page`**: Group by page, e.g., `/dist/homePage/index.html`, `/dist/aboutPage/index.html`
213
213
 
214
+ > **Note**: When using `strategy` or `page` mode, static assets from the `public/` directory are automatically copied to each subdirectory to ensure correct asset paths.
215
+
214
216
  ### Page Strategy Assignment
215
217
 
216
218
  Assign strategies to pages through the `pageConfigs` function:
package/README.md CHANGED
@@ -211,6 +211,8 @@ export default defineConfig({
211
211
  - **`strategy`**: 按策略分组,如 `/dist/mobile/page1.html`、`/dist/desktop/page1.html`
212
212
  - **`page`**: 按页面分组,如 `/dist/homePage/index.html`、`/dist/aboutPage/index.html`
213
213
 
214
+ > **注意**: 使用 `strategy` 或 `page` 模式时,`public/` 目录中的静态资源会自动复制到每个子目录中,确保资源路径正确。
215
+
214
216
  ### 页面策略分配
215
217
 
216
218
  通过 `pageConfigs` 函数为页面分配策略:
package/dist/cli.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var _e=Object.create;var Y=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var Me=Object.getOwnPropertyNames;var je=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var T=(t,e)=>()=>(t&&(e=t(t=0)),e);var B=(t,e)=>{for(var o in e)Y(t,o,{get:e[o],enumerable:!0})},le=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Me(e))!Re.call(t,n)&&n!==o&&Y(t,n,{get:()=>e[n],enumerable:!(s=De(e,n))||s.enumerable});return t};var w=(t,e,o)=>(o=t!=null?_e(je(t)):{},le(e||!t||!t.__esModule?Y(o,"default",{value:t,enumerable:!0}):o,t)),Ie=t=>le(Y({},"__esModule",{value:!0}),t);var C=T(()=>{"use strict"});function V(t,e,o,s){let n=[],a=new Map,c=e.replace(/\/\*.*$/,"");(!c||c===e)&&(c=M.dirname(e.split("*")[0]));let l=[];for(let r of t){if(o.includes(r))continue;let i=r.replace(/\\/g,"/"),g=c.replace(/\\/g,"/"),d=M.posix.relative(g,i).split("/");if(d.length===1){let f=d[0],u=M.posix.basename(f,M.posix.extname(f));l.push({name:u,file:r,priority:1})}else if(d.length>=2){let f=M.posix.basename(i,M.posix.extname(i)),u=d[0];f==="main"&&l.push({name:u,file:r,priority:2})}}for(let r of l){let i=a.get(r.name);i?r.priority>i.priority&&a.set(r.name,{file:r.file,priority:r.priority}):a.set(r.name,{file:r.file,priority:r.priority})}for(let[r,{file:i}]of a.entries())n.push({name:r,file:i});return n}var M,ee=T(()=>{"use strict";C();M=w(require("path"))});function j(t,e,o){if(!t)return null;if(typeof t=="function"){let s=t(e);return s}for(let[s,n]of Object.entries(t)){if(s===e.pageName)return o(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,n),n;if(n.match&&(Array.isArray(n.match)?n.match:[n.match]).some(l=>z(l,e.pageName)||z(l,e.relativePath)||z(l,e.filePath)))return o(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n.match}):`,n),{...n,match:void 0};if(z(s,e.pageName))return o(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${s}):`,n),n}return null}function z(t,e){let o=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${o}$`).test(e)}var te=T(()=>{"use strict";C()});function ge(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function q(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}var se=T(()=>{"use strict";C()});var ae={};B(ae,{cleanViteOutputDirectory:()=>oe,generateBuildConfig:()=>W,getAvailableStrategies:()=>ie,getViteOutputDirectory:()=>L});function W(t){var g;let{entry:e="src/pages/*/main.{ts,js}",exclude:o=[],template:s="index.html",placeholder:n="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:a={},pageConfigs:c={},forceBuildStrategy:l}=t,r=q(!0),i={};try{let p=re.glob.sync(e,{cwd:process.cwd()}),d=V(p,e,o,r);if(d.length===0)return r("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let f=new Map,u=new Map;for(let m of d){let v={pageName:m.name,filePath:m.file,relativePath:P.relative(process.cwd(),m.file)},S=j(c,v,r),E=(S==null?void 0:S.strategy)||"default";f.set(m.name,E),u.has(E)||u.set(E,[]),(g=u.get(E))==null||g.push(m.name)}if(r(`\u{1F4C4} \u53D1\u73B0 ${d.length} \u4E2A\u9875\u9762: ${d.map(m=>m.name).join(", ")}`),l){let m=u.get(l)||[];if(m.length===0)return r(`\u8B66\u544A: \u7B56\u7565 "${l}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};r(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${l}, \u9875\u9762: ${m.join(", ")}`);let v=ne(l,m,d,a[l],c,s,n,r);return i[l]=v,i}for(let[m,v]of u){if(v.length===0)continue;let S=a[m]||{},E=ne(m,v,d,S,c,s,n,r);i[m]=E}if(Object.keys(i).length===0){r("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let m=d.map(S=>S.name),v=ne("default",m,d,{},c,s,n,r);i.default=v}let b=Object.keys(i);return r(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${b.join(", ")}`),i}catch(p){throw r("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",p),p}}function ne(t,e,o,s,n,a,c,l){let r={},i=[],g={};for(let f of e){let u=o.find(Z=>Z.name===f);if(!u)continue;let b={pageName:f,filePath:u.file,relativePath:P.relative(process.cwd(),u.file),strategy:t},m=j(n,b,l);m!=null&&m.define&&Object.assign(g,m.define);let v=a,S=`${f}.html`;O.existsSync(P.resolve(process.cwd(),S))?v=S:m!=null&&m.template&&(v=m.template);let E=P.resolve(process.cwd(),v);if(!O.existsSync(E)){l(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${v}`);continue}let I=O.readFileSync(E,"utf-8");if(I.includes(c)){let Z=`./${u.file}`;I=I.replace(new RegExp(c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),Z)}let k=P.resolve(process.cwd(),`.temp.mp.${f}.html`);O.writeFileSync(k,I),i.push(k),r[f]=k}let p={build:{rollupOptions:{input:r,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},d=p;return s&&(d=(0,pe.mergeConfig)(p,s)),Object.keys(g).length>0&&(d.define={...d.define,...g}),d.build||(d.build={}),d.build.rollupOptions||(d.build.rollupOptions={}),d.build.rollupOptions.input=r,d.build.emptyOutDir=!1,l(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),d}function L(t=[]){let e=t.findIndex(s=>s==="--outDir");if(e!==-1&&e+1<t.length){let s=t[e+1];return P.resolve(process.cwd(),s)}let o=t.find(s=>s.startsWith("--outDir="));if(o){let s=o.split("=")[1];return P.resolve(process.cwd(),s)}return P.resolve(process.cwd(),"dist")}function oe(t=[]){let e=L(t),o=q(!0);try{O.existsSync(e)&&(O.rmSync(e,{recursive:!0,force:!0}),o(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${P.relative(process.cwd(),e)}`))}catch(s){o(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,s)}}function ie(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:o=[],pageConfigs:s={}}=t,n=q(!1),a=new Set,c=re.glob.sync(e,{cwd:process.cwd()}),l=V(c,e,o,n);if(l.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let r of l){let i={pageName:r.name,filePath:r.file,relativePath:P.relative(process.cwd(),r.file)},g=j(s,i,n),p=(g==null?void 0:g.strategy)||"default";a.add(p)}return Array.from(a).sort()}catch(r){return n("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",r),["default"]}}var pe,re,P,O,A=T(()=>{"use strict";C();pe=require("vite"),re=require("glob"),P=w(require("path")),O=w(require("fs"));ee();te();se()});var de={};B(de,{hasCustomConfig:()=>J,loadUserConfig:()=>Q});function J(){for(let t of me){let e=R.resolve(process.cwd(),t);if(N.existsSync(e))return!0}return!1}async function Q(t){let e=await Ae();if(e){let o=e(t);return o||{}}return null}async function Le(t){if(t.endsWith(".ts"))try{let e=await N.promises.readFile(t,"utf-8"),o;try{o=await import("esbuild")}catch{throw console.error(`
2
+ "use strict";var Me=Object.create;var Y=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty;var O=(t,e)=>()=>(t&&(e=t(t=0)),e);var B=(t,e)=>{for(var r in e)Y(t,r,{get:e[r],enumerable:!0})},le=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of je(e))!Ie.call(t,n)&&n!==r&&Y(t,n,{get:()=>e[n],enumerable:!(s=De(e,n))||s.enumerable});return t};var w=(t,e,r)=>(r=t!=null?Me(Re(t)):{},le(e||!t||!t.__esModule?Y(r,"default",{value:t,enumerable:!0}):r,t)),Le=t=>le(Y({},"__esModule",{value:!0}),t);var $=O(()=>{"use strict"});function V(t,e,r,s){let n=[],a=new Map,c=e.replace(/\/\*.*$/,"");(!c||c===e)&&(c=j.dirname(e.split("*")[0]));let l=[];for(let i of t){if(r.includes(i))continue;let g=i.replace(/\\/g,"/"),u=c.replace(/\\/g,"/"),f=j.posix.relative(u,g).split("/");if(f.length===1){let p=f[0],d=j.posix.basename(p,j.posix.extname(p));l.push({name:d,file:i,priority:1})}else if(f.length>=2){let p=j.posix.basename(g,j.posix.extname(g)),d=f[0];p==="main"&&l.push({name:d,file:i,priority:2})}}for(let i of l){let g=a.get(i.name);g?i.priority>g.priority&&a.set(i.name,{file:i.file,priority:i.priority}):a.set(i.name,{file:i.file,priority:i.priority})}for(let[i,{file:g}]of a.entries())n.push({name:i,file:g});return n}var j,ee=O(()=>{"use strict";$();j=w(require("path"))});function R(t,e,r){if(!t)return null;if(typeof t=="function"){let s=t(e);return s}for(let[s,n]of Object.entries(t)){if(s===e.pageName)return r(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,n),n;if(n.match&&(Array.isArray(n.match)?n.match:[n.match]).some(l=>z(l,e.pageName)||z(l,e.relativePath)||z(l,e.filePath)))return r(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n.match}):`,n),{...n,match:void 0};if(z(s,e.pageName))return r(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${s}):`,n),n}return null}function z(t,e){let r=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${r}$`).test(e)}var te=O(()=>{"use strict";$()});function pe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function q(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}var se=O(()=>{"use strict";$()});var ae={};B(ae,{cleanViteOutputDirectory:()=>ie,generateBuildConfig:()=>W,getAvailableStrategies:()=>oe,getViteOutputDirectory:()=>L});function W(t){var u;let{entry:e="src/pages/*/main.{ts,js}",exclude:r=[],template:s="index.html",placeholder:n="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:a={},pageConfigs:c={},forceBuildStrategy:l}=t,i=q(!0),g={};try{let o=re.glob.sync(e,{cwd:process.cwd()}),f=V(o,e,r,i);if(f.length===0)return i("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let p=new Map,d=new Map;for(let m of f){let x={pageName:m.name,filePath:m.file,relativePath:E.relative(process.cwd(),m.file)},S=R(c,x,i),P=(S==null?void 0:S.strategy)||"default";p.set(m.name,P),d.has(P)||d.set(P,[]),(u=d.get(P))==null||u.push(m.name)}if(i(`\u{1F4C4} \u53D1\u73B0 ${f.length} \u4E2A\u9875\u9762: ${f.map(m=>m.name).join(", ")}`),l){let m=d.get(l)||[];if(m.length===0)return i(`\u8B66\u544A: \u7B56\u7565 "${l}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};i(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${l}, \u9875\u9762: ${m.join(", ")}`);let x=ne(l,m,f,a[l],c,s,n,i);return g[l]=x,g}for(let[m,x]of d){if(x.length===0)continue;let S=a[m]||{},P=ne(m,x,f,S,c,s,n,i);g[m]=P}if(Object.keys(g).length===0){i("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let m=f.map(S=>S.name),x=ne("default",m,f,{},c,s,n,i);g.default=x}let b=Object.keys(g);return i(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${b.join(", ")}`),g}catch(o){throw i("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",o),o}}function ne(t,e,r,s,n,a,c,l){let i={},g=[],u={};for(let p of e){let d=r.find(Z=>Z.name===p);if(!d)continue;let b={pageName:p,filePath:d.file,relativePath:E.relative(process.cwd(),d.file),strategy:t},m=R(n,b,l);m!=null&&m.define&&Object.assign(u,m.define);let x=a,S=`${p}.html`;_.existsSync(E.resolve(process.cwd(),S))?x=S:m!=null&&m.template&&(x=m.template);let P=E.resolve(process.cwd(),x);if(!_.existsSync(P)){l(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${x}`);continue}let F=_.readFileSync(P,"utf-8");if(F.includes(c)){let Z=`./${d.file}`;F=F.replace(new RegExp(c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),Z)}let k=E.resolve(process.cwd(),`.temp.mp.${p}.html`);_.writeFileSync(k,F),g.push(k),i[p]=k}let o={build:{rollupOptions:{input:i,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},f=o;return s&&(f=(0,ge.mergeConfig)(o,s)),Object.keys(u).length>0&&(f.define={...f.define,...u}),f.build||(f.build={}),f.build.rollupOptions||(f.build.rollupOptions={}),f.build.rollupOptions.input=i,f.build.emptyOutDir=!1,l(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),f}function L(t=[]){let e=t.findIndex(s=>s==="--outDir");if(e!==-1&&e+1<t.length){let s=t[e+1];return E.resolve(process.cwd(),s)}let r=t.find(s=>s.startsWith("--outDir="));if(r){let s=r.split("=")[1];return E.resolve(process.cwd(),s)}return E.resolve(process.cwd(),"dist")}function ie(t=[]){let e=L(t),r=q(!0);try{_.existsSync(e)&&(_.rmSync(e,{recursive:!0,force:!0}),r(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${E.relative(process.cwd(),e)}`))}catch(s){r(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,s)}}function oe(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:r=[],pageConfigs:s={}}=t,n=q(!1),a=new Set,c=re.glob.sync(e,{cwd:process.cwd()}),l=V(c,e,r,n);if(l.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let i of l){let g={pageName:i.name,filePath:i.file,relativePath:E.relative(process.cwd(),i.file)},u=R(s,g,n),o=(u==null?void 0:u.strategy)||"default";a.add(o)}return Array.from(a).sort()}catch(i){return n("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",i),["default"]}}var ge,re,E,_,A=O(()=>{"use strict";$();ge=require("vite"),re=require("glob"),E=w(require("path")),_=w(require("fs"));ee();te();se()});var ue={};B(ue,{hasCustomConfig:()=>J,loadUserConfig:()=>Q});function J(){for(let t of me){let e=I.resolve(process.cwd(),t);if(N.existsSync(e))return!0}return!1}async function Q(t){let e=await Ne();if(e){let r=e(t);return r||{}}return null}async function Ae(t){if(t.endsWith(".ts"))try{let e=await N.promises.readFile(t,"utf-8"),r;try{r=await import("esbuild")}catch{throw console.error(`
3
3
  \u274C \u65E0\u6CD5\u52A0\u8F7D TypeScript \u914D\u7F6E\u6587\u4EF6\uFF0C\u56E0\u4E3A\u627E\u4E0D\u5230 esbuild \u4F9D\u8D56\u3002`),console.error(`
4
4
  \u{1F4A1} \u8BF7\u9009\u62E9\u4EE5\u4E0B\u89E3\u51B3\u65B9\u6848\u4E4B\u4E00\uFF1A`),console.error(' 1. \u5B89\u88C5 esbuild (peerDependency)\uFF1Anpm install esbuild@">=0.19.3" --save-dev'),console.error(" 2. \u6216\u8005\u5982\u679C\u4F7F\u7528 Vite \u9879\u76EE\uFF0Cesbuild \u901A\u5E38\u5DF2\u5B89\u88C5\uFF0C\u8BF7\u68C0\u67E5\u7248\u672C\u662F\u5426 >=0.19.3"),console.error(" 3. \u4F7F\u7528 JavaScript \u914D\u7F6E\u6587\u4EF6\uFF1A\u5C06 multipage.config.ts \u91CD\u547D\u540D\u4E3A multipage.config.js"),console.error(` 4. \u4F7F\u7528 ESM \u914D\u7F6E\u6587\u4EF6\uFF1A\u5C06 multipage.config.ts \u91CD\u547D\u540D\u4E3A multipage.config.mjs
5
- `),new Error(`\u9700\u8981 esbuild \u4F9D\u8D56\u6765\u5904\u7406 TypeScript \u914D\u7F6E\u6587\u4EF6: ${R.basename(t)}`)}let s=await o.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),n=new H.Module(t);return n.filename=t,n.paths=H.Module._nodeModulePaths(R.dirname(t)),n._compile(s.code,t),n.exports}catch(e){if(e instanceof Error&&e.message.includes("\u9700\u8981 esbuild \u4F9D\u8D56"))throw e;console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let s=(await N.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),n=new H.Module(t);return n.filename=t,n.paths=H.Module._nodeModulePaths(R.dirname(t)),n._compile(s,t),n.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${(0,fe.pathToFileURL)(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function Ae(){let t=process.cwd();for(let e of me){let o=R.resolve(t,e);if(N.existsSync(o))try{let s=await Le(o),n=s.default||s;if(typeof n=="function")return n;console.warn(`\u914D\u7F6E\u6587\u4EF6 ${e} \u5FC5\u987B\u9ED8\u8BA4\u5BFC\u51FA\u4E00\u4E2A\u51FD\u6570`)}catch(s){e.endsWith(".ts")?(console.error(`\u52A0\u8F7DTypeScript\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,s),console.log("\u63D0\u793A\uFF1A\u786E\u4FDD\u4F60\u7684\u9879\u76EE\u652F\u6301TypeScript\uFF0C\u6216\u8005\u4F7F\u7528 .js/.mjs \u914D\u7F6E\u6587\u4EF6")):console.error(`\u52A0\u8F7D\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,s)}}return null}var N,R,fe,H,me,ce=T(()=>{"use strict";C();N=w(require("fs")),R=w(require("path")),fe=require("url"),H=require("module"),me=["multipage.config.js","multipage.config.mjs","multipage.config.ts"]});var ue={};B(ue,{DEFAULT_CONFIG:()=>F,isEmptyConfig:()=>Ne,mergeWithDefaults:()=>U});function U(t){return t?{entry:t.entry??F.entry,exclude:t.exclude??F.exclude,template:t.template??F.template,placeholder:t.placeholder??F.placeholder,debug:t.debug??F.debug,merge:t.merge??F.merge,strategies:t.strategies??F.strategies,pageConfigs:t.pageConfigs??F.pageConfigs,__forceBuildStrategy:t.__forceBuildStrategy}:{...F}}function Ne(t){if(Object.keys(t).length===0)return!0;let e=t.entry&&t.entry!==F.entry,o=t.strategies&&Object.keys(t.strategies).length>0,s=t.pageConfigs&&(typeof t.pageConfigs=="function"||Object.keys(t.pageConfigs).length>0);return!e&&!o&&!s}var F,K=T(()=>{"use strict";C();F={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,merge:"all",strategies:{default:{}},pageConfigs:{}}});function Ue(t,e,o){try{let s=he.glob.sync(e.entry,{cwd:process.cwd()}),n=V(s,e.entry,e.exclude,o);if(n.length===0){o("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let a=e.devStrategy||t.config.__cliStrategy||t.config.strategy;a&&(o(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${a}`),n=n.filter(c=>{let l={pageName:c.name,filePath:c.file,relativePath:_.relative(process.cwd(),c.file),strategy:void 0,isMatched:!1},r=j(e.pageConfigs,l,o),i=(r==null?void 0:r.strategy)||"default";return a==="default"?i==="default":i===a}),o(`\u7B56\u7565 "${a}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${n.map(c=>c.name).join(", ")||"\u65E0"}`)),o("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",n),t.middlewares.use(async(c,l,r)=>{try{let g=(c.url||"").split("?")[0];if(g==="/"){let f=Be(n,e,o);l.statusCode=200,l.setHeader("Content-Type","text/html"),l.end(f);return}if(g.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!g.endsWith(".html")||g.startsWith("/@")||g.includes("__vite")||g.startsWith("/node_modules"))return r();let p="";if(g.endsWith(".html"))p=_.basename(g,".html");else if(g.startsWith("/")){let f=g.substring(1);if(n.find(u=>u.name===f))p=f;else{let u=f.split("/");if(u.length>1){let b=u[0];n.find(m=>m.name===b)&&(p=b,o(`History \u8DEF\u7531\u5339\u914D: ${g} -> ${b}`))}}}if(!p)return r();let d=n.find(f=>f.name===p);return d?ke(l,d,e,o):r()}catch(i){o(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${i}`),r(i)}}),o("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(s){throw o(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${s}`),s}}function ke(t,e,o,s){var g;let n={pageName:e.name,filePath:e.file,relativePath:_.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},a=j(o.pageConfigs,n,s);if(a!=null&&a.strategy)n.strategy=a.strategy;else if((g=o.appliedStrategies)!=null&&g.has(e.name)){let p=o.appliedStrategies.get(e.name);p&&(n.strategy=p)}let c="",l=_.resolve(process.cwd(),`${e.name}.html`);if(G.existsSync(l)?c=l:a!=null&&a.template?c=_.resolve(process.cwd(),a.template):c=_.resolve(process.cwd(),o.template),!G.existsSync(c)){t.statusCode=404,t.end("Template not found");return}let r=G.readFileSync(c,"utf-8");if(r.includes(o.placeholder)){let p=r;if(r=r.split(o.placeholder).join(`/${e.file}`),r===p){let d=ge(o.placeholder),f=new RegExp(d,"g");r=p.replace(f,`/${e.file}`),r===p&&(r=p.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(a!=null&&a.define){let p=Object.entries(a.define).map(([d,f])=>{let u=typeof f=="string"?`"${f}"`:JSON.stringify(f);return`window.${d} = ${u};`}).join(`
6
- `);p&&(r=r.replace(/<\/head>/i,`<script type="text/javascript">
7
- ${p}
5
+ `),new Error(`\u9700\u8981 esbuild \u4F9D\u8D56\u6765\u5904\u7406 TypeScript \u914D\u7F6E\u6587\u4EF6: ${I.basename(t)}`)}let s=await r.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),n=new H.Module(t);return n.filename=t,n.paths=H.Module._nodeModulePaths(I.dirname(t)),n._compile(s.code,t),n.exports}catch(e){if(e instanceof Error&&e.message.includes("\u9700\u8981 esbuild \u4F9D\u8D56"))throw e;console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let s=(await N.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),n=new H.Module(t);return n.filename=t,n.paths=H.Module._nodeModulePaths(I.dirname(t)),n._compile(s,t),n.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${(0,fe.pathToFileURL)(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function Ne(){let t=process.cwd();for(let e of me){let r=I.resolve(t,e);if(N.existsSync(r))try{let s=await Ae(r),n=s.default||s;if(typeof n=="function")return n;console.warn(`\u914D\u7F6E\u6587\u4EF6 ${e} \u5FC5\u987B\u9ED8\u8BA4\u5BFC\u51FA\u4E00\u4E2A\u51FD\u6570`)}catch(s){e.endsWith(".ts")?(console.error(`\u52A0\u8F7DTypeScript\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,s),console.log("\u63D0\u793A\uFF1A\u786E\u4FDD\u4F60\u7684\u9879\u76EE\u652F\u6301TypeScript\uFF0C\u6216\u8005\u4F7F\u7528 .js/.mjs \u914D\u7F6E\u6587\u4EF6")):console.error(`\u52A0\u8F7D\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,s)}}return null}var N,I,fe,H,me,ce=O(()=>{"use strict";$();N=w(require("fs")),I=w(require("path")),fe=require("url"),H=require("module"),me=["multipage.config.js","multipage.config.mjs","multipage.config.ts"]});var de={};B(de,{DEFAULT_CONFIG:()=>T,isEmptyConfig:()=>Ue,mergeWithDefaults:()=>U});function U(t){return t?{entry:t.entry??T.entry,exclude:t.exclude??T.exclude,template:t.template??T.template,placeholder:t.placeholder??T.placeholder,debug:t.debug??T.debug,merge:t.merge??T.merge,strategies:t.strategies??T.strategies,pageConfigs:t.pageConfigs??T.pageConfigs,__forceBuildStrategy:t.__forceBuildStrategy}:{...T}}function Ue(t){if(Object.keys(t).length===0)return!0;let e=t.entry&&t.entry!==T.entry,r=t.strategies&&Object.keys(t.strategies).length>0,s=t.pageConfigs&&(typeof t.pageConfigs=="function"||Object.keys(t.pageConfigs).length>0);return!e&&!r&&!s}var T,K=O(()=>{"use strict";$();T={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,merge:"all",strategies:{default:{}},pageConfigs:{}}});function ke(t,e,r){try{let s=he.glob.sync(e.entry,{cwd:process.cwd()}),n=V(s,e.entry,e.exclude,r);if(n.length===0){r("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let a=e.devStrategy||t.config.__cliStrategy||t.config.strategy;a&&(r(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${a}`),n=n.filter(c=>{let l={pageName:c.name,filePath:c.file,relativePath:M.relative(process.cwd(),c.file),strategy:void 0,isMatched:!1},i=R(e.pageConfigs,l,r),g=(i==null?void 0:i.strategy)||"default";return a==="default"?g==="default":g===a}),r(`\u7B56\u7565 "${a}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${n.map(c=>c.name).join(", ")||"\u65E0"}`)),r("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",n),t.middlewares.use(async(c,l,i)=>{try{let u=(c.url||"").split("?")[0];if(u==="/"){let p=Ve(n,e,r);l.statusCode=200,l.setHeader("Content-Type","text/html"),l.end(p);return}if(u.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!u.endsWith(".html")||u.startsWith("/@")||u.includes("__vite")||u.startsWith("/node_modules"))return i();let o="";if(u.endsWith(".html"))o=M.basename(u,".html");else if(u.startsWith("/")){let p=u.substring(1);if(n.find(d=>d.name===p))o=p;else{let d=p.split("/");if(d.length>1){let b=d[0];n.find(m=>m.name===b)&&(o=b,r(`History \u8DEF\u7531\u5339\u914D: ${u} -> ${b}`))}}}if(!o)return i();let f=n.find(p=>p.name===o);return f?Be(l,f,e,r):i()}catch(g){r(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${g}`),i(g)}}),r("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(s){throw r(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${s}`),s}}function Be(t,e,r,s){var u;let n={pageName:e.name,filePath:e.file,relativePath:M.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},a=R(r.pageConfigs,n,s);if(a!=null&&a.strategy)n.strategy=a.strategy;else if((u=r.appliedStrategies)!=null&&u.has(e.name)){let o=r.appliedStrategies.get(e.name);o&&(n.strategy=o)}let c="",l=M.resolve(process.cwd(),`${e.name}.html`);if(G.existsSync(l)?c=l:a!=null&&a.template?c=M.resolve(process.cwd(),a.template):c=M.resolve(process.cwd(),r.template),!G.existsSync(c)){t.statusCode=404,t.end("Template not found");return}let i=G.readFileSync(c,"utf-8");if(i.includes(r.placeholder)){let o=i;if(i=i.split(r.placeholder).join(`/${e.file}`),i===o){let f=pe(r.placeholder),p=new RegExp(f,"g");i=o.replace(p,`/${e.file}`),i===o&&(i=o.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(a!=null&&a.define){let o=Object.entries(a.define).map(([f,p])=>{let d=typeof p=="string"?`"${p}"`:JSON.stringify(p);return`window.${f} = ${d};`}).join(`
6
+ `);o&&(i=i.replace(/<\/head>/i,`<script type="text/javascript">
7
+ ${o}
8
8
  </script>
9
- </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(r)}function Be(t,e,o){try{let s=t.map(n=>{var i;let a={pageName:n.name,filePath:n.file,relativePath:_.relative(process.cwd(),n.file),strategy:void 0,isMatched:!1},c=j(e.pageConfigs,a,o),l="default";if(c!=null&&c.strategy)l=c.strategy;else if((i=e.appliedStrategies)!=null&&i.has(n.name)){let g=e.appliedStrategies.get(n.name);g&&(l=g)}let r=l!=="default"?`<span class="badge">${l}</span>`:"";return`
9
+ </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(i)}function Ve(t,e,r){try{let s=t.map(n=>{var g;let a={pageName:n.name,filePath:n.file,relativePath:M.relative(process.cwd(),n.file),strategy:void 0,isMatched:!1},c=R(e.pageConfigs,a,r),l="default";if(c!=null&&c.strategy)l=c.strategy;else if((g=e.appliedStrategies)!=null&&g.has(n.name)){let u=e.appliedStrategies.get(n.name);u&&(l=u)}let i=l!=="default"?`<span class="badge">${l}</span>`:"";return`
10
10
  <div class="page-item">
11
11
  <a href="${n.name}.html" class="page-link">
12
- ${n.name}${r}
12
+ ${n.name}${i}
13
13
  </a>
14
14
  <div class="page-path">${n.file}</div>
15
15
  </div>`}).join("");return`
@@ -91,7 +91,7 @@ ${p}
91
91
  </div>
92
92
  </body>
93
93
  </html>
94
- `}catch(s){return o(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${s}`),`
94
+ `}catch(s){return r(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${s}`),`
95
95
  <!DOCTYPE html>
96
96
  <html>
97
97
  <head>
@@ -102,7 +102,7 @@ ${p}
102
102
  <p>${s}</p>
103
103
  </body>
104
104
  </html>
105
- `}}var _,G,he,ye,xe=T(()=>{"use strict";C();_=w(require("path")),G=w(require("fs")),he=require("glob");ee();se();te();ye=Ue});function ve(t){return typeof t=="function"?t:()=>t}function Ce(t){return t}var be=T(()=>{"use strict";C()});var Pe={};B(Pe,{cleanViteOutputDirectory:()=>oe,default:()=>We,defineConfig:()=>ve,defineConfigTransform:()=>Ce,generateBuildConfig:()=>W,getAvailableStrategies:()=>ie,getViteOutputDirectory:()=>L,mergeWithDefaults:()=>U,reorganizeAssetsInCLI:()=>Ve,viteMultiPage:()=>we});function Se(t,e,o,s){let n=$.resolve(t,"assets");if(!y.existsSync(n)){s("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let a=y.readdirSync(t).filter(r=>r.endsWith(".html")).map(r=>$.resolve(t,r));if(a.length===0){s("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let c=new Map,l=new Map;if(a.forEach(r=>{var m;let i=$.basename(r,".html");i.startsWith(".temp.mp.")&&(i=i.replace(".temp.mp.",""));let g=y.readFileSync(r,"utf-8"),p=[],d=/(?:src|href)="\/assets\/([^"]+)"/g,f;for(;(f=d.exec(g))!==null;){let v=f[1];p.push(v),l.has(v)||l.set(v,[]),(m=l.get(v))==null||m.push(i)}let u="";e==="strategy"?u="default":e==="page"&&(u=i);let b=$.resolve(t,u);c.set(i,{assets:p,targetDir:b}),s(`\u9875\u9762 ${i} \u4F9D\u8D56\u8D44\u6E90:`,p)}),l.forEach((r,i)=>{r.length>1?s(`\u5171\u4EAB\u8D44\u6E90 ${i} \u88AB\u9875\u9762\u4F7F\u7528:`,r):s(`\u72EC\u5360\u8D44\u6E90 ${i} \u4EC5\u88AB\u9875\u9762 ${r[0]} \u4F7F\u7528`)}),c.forEach(({assets:r,targetDir:i},g)=>{let p=$.resolve(i,"assets");y.existsSync(p)||y.mkdirSync(p,{recursive:!0}),r.forEach(d=>{let f=$.resolve(n,d),u=$.resolve(p,d);y.existsSync(f)?(y.copyFileSync(f,u),s(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${g}: assets/${d} -> ${$.relative(t,u)}`)):s(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${f}`)})}),c.forEach(({targetDir:r},i)=>{let g=$.resolve(t,`${i}.html`),p=i;if(y.existsSync(g)||(g=$.resolve(t,`.temp.mp.${i}.html`),y.existsSync(g)&&(p=i)),y.existsSync(g)){let d=y.readFileSync(g,"utf-8");d=d.replace(/(?:src|href)="\/assets\//g,b=>b.replace("/assets/","./assets/"));let f;e==="strategy"?f=$.resolve(r,`${p}.html`):e==="page"?f=$.resolve(r,"index.html"):f=g,y.writeFileSync(f,d),f!==g&&y.unlinkSync(g);let u=$.relative(t,f);s(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${p}.html -> ${u}`)}else s(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${i}.html \u6216 .temp.mp.${i}.html`)}),y.existsSync(n))if(e==="strategy"||e==="page")try{y.rmSync(n,{recursive:!0,force:!0}),s("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(r){s("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",r)}else{l.forEach((i,g)=>{let p=$.resolve(n,g);y.existsSync(p)&&(y.unlinkSync(p),s(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${g}`))});let r=y.readdirSync(n);r.length===0?(y.rmdirSync(n),s("\u6E05\u7406\u7A7A\u7684assets\u76EE\u5F55")):s("assets\u76EE\u5F55\u4E2D\u8FD8\u6709\u672A\u5904\u7406\u7684\u6587\u4EF6:",r)}}function we(t){let e,o=[],s=()=>{};return{name:"vite-multi-page",async configResolved(n){let a=null;J()&&(a=await Q({mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}));let c=U(a);e=t?t(c,{mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}):c,s=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},s("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(n,{command:a}){var c;if(a==="serve"){let l=process.argv,r=l.find(i=>i.startsWith("--strategy="));if(r){let i=r.split("=")[1];i&&(process.env.VITE_MULTI_PAGE_STRATEGY=i)}else{let i=l.findIndex(g=>g==="--strategy");if(i!==-1&&i+1<l.length){let g=l[i+1];process.env.VITE_MULTI_PAGE_STRATEGY=g}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(a==="build"){if(!e){let g=null;J()&&(g=await Q({mode:"production",command:"build",isCLI:!1}));let p=U(g);e=t?t(p,{mode:"production",command:"build",isCLI:!1}):p,s=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}s("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let l=process.env.VITE_MULTI_PAGE_STRATEGY,r=W({entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",merge:e.merge||"all",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},forceBuildStrategy:l}),i=Object.keys(r)[0];if(i&&r[i]){s(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${i}`);let g=r[i],p=(0,$e.mergeConfig)(n,g);Object.assign(n,p),s(`\u5DF2\u5E94\u7528\u7B56\u7565 "${i}" \u7684\u914D\u7F6E:`,{build:!!g.build,define:!!g.define,plugins:((c=g.plugins)==null?void 0:c.length)||0})}else throw s("\u672A\u627E\u5230\u53EF\u7528\u7684\u6784\u5EFA\u7B56\u7565\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),new Error(`\u274C \u6784\u5EFA\u5931\u8D25: \u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565
105
+ `}}var M,G,he,ye,xe=O(()=>{"use strict";$();M=w(require("path")),G=w(require("fs")),he=require("glob");ee();se();te();ye=ke});function ve(t){return typeof t=="function"?t:()=>t}function be(t){return t}var Ce=O(()=>{"use strict";$()});var Fe={};B(Fe,{cleanViteOutputDirectory:()=>ie,default:()=>He,defineConfig:()=>ve,defineConfigTransform:()=>be,generateBuildConfig:()=>W,getAvailableStrategies:()=>oe,getViteOutputDirectory:()=>L,mergeWithDefaults:()=>U,reorganizeAssetsInCLI:()=>We,viteMultiPage:()=>Pe});function we(t,e,r,s){let n=v.resolve(t,"assets");if(!h.existsSync(n)){s("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let a=h.readdirSync(t).filter(o=>o.endsWith(".html")).map(o=>v.resolve(t,o));if(a.length===0){if(s("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u4F46\u4ECD\u9700\u6E05\u7406assets\u76EE\u5F55"),(e==="strategy"||e==="page")&&h.existsSync(n))try{h.rmSync(n,{recursive:!0,force:!0}),s("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(o){s("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",o)}return}let c=new Map,l=new Map;a.forEach(o=>{var P;let f=v.basename(o,".html");f.startsWith(".temp.mp.")&&(f=f.replace(".temp.mp.",""));let p=h.readFileSync(o,"utf-8"),d=[],b=/(?:src|href)="\/assets\/([^"]+)"/g,m;for(;(m=b.exec(p))!==null;){let F=m[1];d.push(F),l.has(F)||l.set(F,[]),(P=l.get(F))==null||P.push(f)}let x="";e==="strategy"?x="default":e==="page"&&(x=f);let S=v.resolve(t,x);c.set(f,{assets:d,targetDir:S}),s(`\u9875\u9762 ${f} \u4F9D\u8D56\u8D44\u6E90:`,d)}),s("\u7B2C\u4E00\u9636\u6BB5\u8865\u5145\uFF1A\u5206\u6790public\u76EE\u5F55\u8D44\u6E90");let i=new Set,g=v.resolve(process.cwd(),"public");if(h.existsSync(g)){let o=Se.sync("**/*",{cwd:g,nodir:!0});for(let f of o)i.add(f),s(`\u53D1\u73B0public\u8D44\u6E90: ${f}`)}l.forEach((o,f)=>{o.length>1?s(`\u5171\u4EAB\u8D44\u6E90 ${f} \u88AB\u9875\u9762\u4F7F\u7528:`,o):s(`\u72EC\u5360\u8D44\u6E90 ${f} \u4EC5\u88AB\u9875\u9762 ${o[0]} \u4F7F\u7528`)}),c.forEach(({assets:o,targetDir:f},p)=>{let d=v.resolve(f,"assets");h.existsSync(d)||h.mkdirSync(d,{recursive:!0}),o.forEach(b=>{let m=v.resolve(n,b),x=v.resolve(d,b);h.existsSync(m)?(h.copyFileSync(m,x),s(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${p}: assets/${b} -> ${v.relative(t,x)}`)):s(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${m}`)})}),s("\u7B2C\u4E09\u9636\u6BB5\u8865\u5145\uFF1A\u5904\u7406public\u76EE\u5F55\u8D44\u6E90");let u=new Set;c.forEach(({targetDir:o})=>{u.add(o)});for(let o of u)for(let f of i){let p=v.resolve(t,f),d=v.resolve(o,f);if(h.existsSync(p)){let b=v.dirname(d);h.existsSync(b)||h.mkdirSync(b,{recursive:!0}),h.copyFileSync(p,d),s(`\u590D\u5236public\u8D44\u6E90: ${f} -> ${v.relative(t,d)}`)}}if(c.forEach(({targetDir:o},f)=>{let p=v.resolve(t,`${f}.html`),d=f;if(h.existsSync(p)||(p=v.resolve(t,`.temp.mp.${f}.html`),h.existsSync(p)&&(d=f)),h.existsSync(p)){let b=h.readFileSync(p,"utf-8");b=b.replace(/(?:src|href)="\/assets\//g,S=>S.replace("/assets/","./assets/"));let m;e==="strategy"?m=v.resolve(o,`${d}.html`):e==="page"?m=v.resolve(o,"index.html"):m=p,h.writeFileSync(m,b),m!==p&&h.unlinkSync(p);let x=v.relative(t,m);s(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${d}.html -> ${x}`)}else s(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${f}.html \u6216 .temp.mp.${f}.html`)}),h.existsSync(n))if(e==="strategy"||e==="page")try{h.rmSync(n,{recursive:!0,force:!0}),s("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(o){s("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",o)}else{l.forEach((f,p)=>{let d=v.resolve(n,p);h.existsSync(d)&&(h.unlinkSync(d),s(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${p}`))});let o=h.readdirSync(n);o.length===0?(h.rmdirSync(n),s("\u6E05\u7406\u7A7A\u7684assets\u76EE\u5F55")):s("assets\u76EE\u5F55\u4E2D\u8FD8\u6709\u672A\u5904\u7406\u7684\u6587\u4EF6:",o)}(e==="strategy"||e==="page")&&i.size>0&&(s("\u7B2C\u4E94\u9636\u6BB5\u8865\u5145\uFF1A\u6E05\u7406\u6839\u76EE\u5F55\u7684public\u8D44\u6E90"),i.forEach(o=>{let f=v.resolve(t,o);if(h.existsSync(f))try{h.unlinkSync(f),s(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90: ${o}`)}catch(p){s(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90\u5931\u8D25: ${o}`,p)}}),i.forEach(o=>{let f=v.resolve(t,o),p=v.dirname(f);for(;p!==t&&p!==v.dirname(p);)try{if(h.existsSync(p)&&h.readdirSync(p).length===0)h.rmdirSync(p),s(`\u5220\u9664\u7A7A\u76EE\u5F55: ${v.relative(t,p)}`),p=v.dirname(p);else break}catch{break}}))}function Pe(t){let e,r=[],s=()=>{};return{name:"vite-multi-page",async configResolved(n){let a=null;J()&&(a=await Q({mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}));let c=U(a);e=t?t(c,{mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}):c,s=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},s("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(n,{command:a}){var c;if(a==="serve"){let l=process.argv,i=l.find(g=>g.startsWith("--strategy="));if(i){let g=i.split("=")[1];g&&(process.env.VITE_MULTI_PAGE_STRATEGY=g)}else{let g=l.findIndex(u=>u==="--strategy");if(g!==-1&&g+1<l.length){let u=l[g+1];process.env.VITE_MULTI_PAGE_STRATEGY=u}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(a==="build"){if(!e){let u=null;J()&&(u=await Q({mode:"production",command:"build",isCLI:!1}));let o=U(u);e=t?t(o,{mode:"production",command:"build",isCLI:!1}):o,s=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}s("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let l=process.env.VITE_MULTI_PAGE_STRATEGY,i=W({entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",merge:e.merge||"all",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},forceBuildStrategy:l}),g=Object.keys(i)[0];if(g&&i[g]){s(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${g}`);let u=i[g],o=(0,$e.mergeConfig)(n,u);Object.assign(n,o),s(`\u5DF2\u5E94\u7528\u7B56\u7565 "${g}" \u7684\u914D\u7F6E:`,{build:!!u.build,define:!!u.define,plugins:((c=u.plugins)==null?void 0:c.length)||0})}else throw s("\u672A\u627E\u5230\u53EF\u7528\u7684\u6784\u5EFA\u7B56\u7565\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),new Error(`\u274C \u6784\u5EFA\u5931\u8D25: \u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565
106
106
 
107
107
  \u53EF\u80FD\u7684\u539F\u56E0\uFF1A
108
108
  1. \u914D\u7F6E\u6587\u4EF6\u8FD4\u56DE\u7A7A\u5BF9\u8C61 {}
@@ -117,7 +117,7 @@ export default () => ({
117
117
  strategies: {
118
118
  default: {}
119
119
  }
120
- });`)}},configureServer(n){if(n.config.command==="serve"){s("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let a=process.env.VITE_MULTI_PAGE_STRATEGY||"default";s(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${a}`),ye(n,{entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},devStrategy:a},s)}},writeBundle(n){if(!(e!=null&&e.merge)||e.merge==="all")return;let a=n.dir||"dist",c=e.merge;s(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${c}`);try{Se(a,c,e,s)}catch(l){throw s("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",l),l}},buildEnd(){o.length>0&&(s(`\u6E05\u7406 ${o.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),o.forEach(n=>{try{y.existsSync(n)&&(y.unlinkSync(n),s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${n}`))}catch(a){s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${n}`,a)}}),o.length=0)}}}function Ve(t,e,o,s){return Se(t,e,o,s)}var y,$,$e,We,Fe=T(()=>{"use strict";C();y=w(require("fs")),$=w(require("path")),$e=require("vite");xe();A();ce();K();be();A();K();We=we});var Ke={};B(Ke,{buildAll:()=>Oe});module.exports=Ie(Ke);C();var Ee=require("child_process"),h=w(require("fs")),x=w(require("path")),X=w(require("glob"));A();function He(){let t=process.argv.slice(2),e=[],o=!1,s,n;for(let a=0;a<t.length;a++){let c=t[a];c==="--debug"?o=!0:c==="--cwd"?s=t[++a]:c==="--strategy"?n=t[++a].split(",").map(r=>r.trim()):c==="--help"||c==="-h"?(console.log(`
120
+ });`)}},configureServer(n){if(n.config.command==="serve"){s("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let a=process.env.VITE_MULTI_PAGE_STRATEGY||"default";s(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${a}`),ye(n,{entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},devStrategy:a},s)}},writeBundle(n){if(!(e!=null&&e.merge)||e.merge==="all")return;let a=n.dir||"dist",c=e.merge;s(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${c}`);try{we(a,c,e,s)}catch(l){throw s("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",l),l}},buildEnd(){r.length>0&&(s(`\u6E05\u7406 ${r.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),r.forEach(n=>{try{h.existsSync(n)&&(h.unlinkSync(n),s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${n}`))}catch(a){s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${n}`,a)}}),r.length=0)}}}function We(t,e,r,s){return we(t,e,r,s)}var h,v,$e,Se,He,Ee=O(()=>{"use strict";$();h=w(require("fs")),v=w(require("path")),$e=require("vite");xe();A();ce();K();Se=w(require("glob"));Ce();A();K();He=Pe});var Xe={};B(Xe,{buildAll:()=>_e});module.exports=Le(Xe);$();var Te=require("child_process"),y=w(require("fs")),C=w(require("path")),X=w(require("glob"));A();function Ge(){let t=process.argv.slice(2),e=[],r=!1,s,n;for(let a=0;a<t.length;a++){let c=t[a];c==="--debug"?r=!0:c==="--cwd"?s=t[++a]:c==="--strategy"?n=t[++a].split(",").map(i=>i.trim()):c==="--help"||c==="-h"?(console.log(`
121
121
  \u4F7F\u7528\u65B9\u6CD5: vite-mp [\u9009\u9879]
122
122
 
123
123
  \u9009\u9879:
@@ -135,8 +135,8 @@ export default () => ({
135
135
  vite-mp --debug # \u542F\u7528\u8C03\u8BD5\u6A21\u5F0F
136
136
  vite-mp --cwd example # \u5728example\u76EE\u5F55\u8FD0\u884C
137
137
  vite-mp --mode production --debug # \u4F20\u9012\u989D\u5916\u53C2\u6570\u7ED9vite
138
- `),process.exit(0)):c!=="build"&&e.push(c)}return{viteBuildArgs:e,debug:o,cwd:s,strategies:n}}async function Ge(){let{loadUserConfig:t,hasCustomConfig:e}=await Promise.resolve().then(()=>(ce(),de)),{mergeWithDefaults:o}=await Promise.resolve().then(()=>(K(),ue)),s=null;return e()?s=await t({mode:"production",command:"build",isCLI:!0}):console.log("\u2139\uFE0F \u672A\u627E\u5230\u914D\u7F6E\u6587\u4EF6\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),o(s)}function Ye(t,e,o){return new Promise(s=>{var i;let n=o?console.log.bind(console,`[${t}]`):()=>{};n(`\u5F00\u59CB\u6784\u5EFA\u7B56\u7565: ${t}`);let a={...process.env,VITE_MULTI_PAGE_STRATEGY:t},c=["build",...e];n(`\u6267\u884C\u547D\u4EE4: npx vite ${c.join(" ")}`);let l=(0,Ee.spawn)("npx",["vite",...c],{stdio:o?"inherit":"pipe",env:a,cwd:process.cwd()}),r="";o||(i=l.stderr)==null||i.on("data",g=>{r+=g.toString()}),l.on("close",g=>{let p=g===0,d=L(e);if(p){n(`\u2705 \u7B56\u7565 ${t} \u6784\u5EFA\u6210\u529F`);try{if(h.existsSync(d)){let f=h.readdirSync(d);for(let u of f)if(u.startsWith(".temp.mp.")&&u.endsWith(".html")){let b=x.resolve(d,u),v=`${u.replace(/^\.temp\.mp\./,"").replace(/\.html$/,"")}.html`,S=x.resolve(d,v);h.renameSync(b,S),n(`\u91CD\u547D\u540DHTML: ${u} -> ${v}`)}}}catch(f){n("\u91CD\u547D\u540DHTML\u6587\u4EF6\u5931\u8D25:",f)}}else n(`\u274C \u7B56\u7565 ${t} \u6784\u5EFA\u5931\u8D25 (\u9000\u51FA\u7801: ${g})`),!o&&r&&console.error(`\u7B56\u7565 ${t} \u9519\u8BEF\u8F93\u51FA:`,r);s({strategy:t,success:p,error:p?void 0:r||`\u6784\u5EFA\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${g}`,outputDir:d})}),l.on("error",g=>{n(`\u274C \u7B56\u7565 ${t} \u6784\u5EFA\u51FA\u9519:`,g.message);let p=L(e);s({strategy:t,success:!1,error:g.message,outputDir:p})})})}async function ze(t,e,o){let s=o?console.log.bind(console,"[merge]"):()=>{};s("\u5F00\u59CB\u5408\u5E76\u6784\u5EFA\u7ED3\u679C...");let n=e.merge||"all";s(`\u4F7F\u7528\u5408\u5E76\u6A21\u5F0F: ${n}`),n==="all"?await Te(t,o):await qe(t,e,o)}async function Te(t,e){let o=e?console.log.bind(console,"[merge]"):()=>{},s=x.resolve(process.cwd(),"dist"),n=x.resolve(s,"assets");h.existsSync(n)||h.mkdirSync(n,{recursive:!0});let a=[];for(let c of t){if(!c.success)continue;let l=x.resolve(s,c.strategy);if(!h.existsSync(l)){o(`\u8B66\u544A: \u7B56\u7565\u76EE\u5F55\u4E0D\u5B58\u5728: ${l}`);continue}o(`\u5904\u7406\u7B56\u7565: ${c.strategy}`);let r=h.readdirSync(l,{withFileTypes:!0});for(let i of r){let g=x.resolve(l,i.name);if(i.isFile())if(i.name.endsWith(".html")){let p=x.resolve(s,i.name);h.copyFileSync(g,p),a.push(i.name),o(`\u590D\u5236HTML: ${i.name} -> dist/${i.name}`)}else{let p=x.resolve(s,i.name);h.copyFileSync(g,p),o(`\u590D\u5236\u6587\u4EF6: ${i.name} -> dist/${i.name}`)}else if(i.isDirectory()&&i.name==="assets"){let p=g,d=h.readdirSync(p,{withFileTypes:!0});for(let f of d){let u=x.resolve(p,f.name),b=x.resolve(n,f.name);if(f.isFile())if(h.existsSync(b)){let m=h.readFileSync(u),v=h.readFileSync(b);if(m.equals(v))o(`\u8DF3\u8FC7\u91CD\u590D\u8D44\u6E90: ${f.name}`);else{let S=x.extname(f.name),I=`${x.basename(f.name,S)}-${c.strategy}${S}`,k=x.resolve(n,I);h.copyFileSync(u,k),o(`\u590D\u5236\u8D44\u6E90(\u91CD\u547D\u540D): ${f.name} -> assets/${I}`)}}else h.copyFileSync(u,b),o(`\u590D\u5236\u8D44\u6E90: ${f.name} -> assets/${f.name}`);else if(f.isDirectory()){let m=x.resolve(n,f.name);h.existsSync(m)||h.mkdirSync(m,{recursive:!0}),h.cpSync(u,m,{recursive:!0}),o(`\u590D\u5236\u8D44\u6E90\u76EE\u5F55: ${f.name} -> assets/${f.name}`)}}}else if(i.isDirectory()){let p=x.resolve(s,i.name);h.cpSync(g,p,{recursive:!0}),o(`\u590D\u5236\u76EE\u5F55: ${i.name} -> dist/${i.name}`)}}}o("\u2705 \u6784\u5EFA\u7ED3\u679C\u5408\u5E76\u5B8C\u6210"),o(`\u{1F4C1} \u751F\u6210\u9875\u9762: ${a.join(", ")}`),o("\u{1F4E6} \u8D44\u6E90\u76EE\u5F55: dist/assets/"),o(`\u{1F527} \u5904\u7406\u7B56\u7565: ${t.filter(c=>c.success).map(c=>c.strategy).join(", ")}`)}async function qe(t,e,o){let s=o?console.log.bind(console,"[merge]"):()=>{};await Te(t,o);let n=x.resolve(process.cwd(),"dist"),a=e.merge;s(`\u5E94\u7528${a}\u6A21\u5F0F\u7684\u8D44\u6E90\u91CD\u7EC4...`);try{let{reorganizeAssetsInCLI:c}=await Promise.resolve().then(()=>(Fe(),Pe));await c(n,a,e,s),s(`\u2705 ${a}\u6A21\u5F0F\u8D44\u6E90\u91CD\u7EC4\u5B8C\u6210`)}catch(c){throw s("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",c),c}}async function Je(t){let e=t?console.log.bind(console,"[cleanup]"):()=>{};e("\u6E05\u7406\u4E34\u65F6HTML\u6587\u4EF6...");let o=X.sync(".temp.mp.*.html",{cwd:process.cwd()});for(let s of o){let n=x.resolve(process.cwd(),s);try{h.unlinkSync(n),e(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${s}`)}catch(a){e(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${s}`,a)}}o.length===0?e("\u6CA1\u6709\u627E\u5230\u4E34\u65F6\u6587\u4EF6"):e(`\u2705 \u6E05\u7406\u4E86 ${o.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`)}async function Qe(t,e,o){let s=o?console.log.bind(console,"[cleanup]"):()=>{};s("\u6E05\u7406\u4E34\u65F6\u6587\u4EF6...");let n=e.merge||"all",a=X.sync(".temp.mp.*.html",{cwd:process.cwd()});for(let c of a){let l=x.resolve(process.cwd(),c);try{h.unlinkSync(l),s(`\u5220\u9664\u6839\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6: ${c}`)}catch(r){s(`\u5220\u9664\u6839\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${c}`,r)}}for(let c of t){let l=x.resolve(process.cwd(),"dist",c);if(h.existsSync(l)){let r=X.sync("*.mp.temp.html",{cwd:l});for(let i of r){let g=x.resolve(l,i);try{h.unlinkSync(g),s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6: ${c}/${i}`)}catch(p){s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${c}/${i}`,p)}}}}if(n==="all"){let c=x.resolve(process.cwd(),"dist");for(let l of t){let r=x.resolve(c,l);if(h.existsSync(r))try{h.rmSync(r,{recursive:!0,force:!0}),s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55: ${l}`)}catch(i){s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u5931\u8D25: ${l}`,i)}}}else s(`\u4FDD\u7559\u7B56\u7565\u76EE\u5F55 (merge\u6A21\u5F0F: ${n})`);s("\u2705 \u6E05\u7406\u5B8C\u6210")}async function Oe(){let{viteBuildArgs:t,debug:e,cwd:o,strategies:s}=He(),n=e?console.log.bind(console,"[main]"):()=>{};if(o){let a=x.resolve(process.cwd(),o);h.existsSync(a)||(console.error(`\u274C \u6307\u5B9A\u7684\u76EE\u5F55\u4E0D\u5B58\u5728: ${a}`),process.exit(1)),process.chdir(a),n(`\u5207\u6362\u5DE5\u4F5C\u76EE\u5F55\u5230: ${a}`)}try{n("\u{1F680} \u5F00\u59CB\u591A\u7B56\u7565\u6784\u5EFA..."),n("\u{1F4CB} \u52A0\u8F7D\u914D\u7F6E...");let a=await Ge(),{getAvailableStrategies:c}=await Promise.resolve().then(()=>(A(),ae)),l=c({entry:a.entry||"src/pages/*/main.{ts,js}",exclude:a.exclude||[],template:a.template||"index.html",placeholder:a.placeholder||"{{ENTRY_FILE}}",pageConfigs:a.pageConfigs||{},strategies:a.strategies||{}});if(l.length===0)throw new Error("\u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565");let r;if(s&&s.length>0){let m=s.filter(v=>!l.includes(v));if(m.length>0)throw new Error(`\u6307\u5B9A\u7684\u7B56\u7565\u4E0D\u5B58\u5728: ${m.join(", ")}
139
- \u53EF\u7528\u7B56\u7565: ${l.join(", ")}`);r=s,n(`\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${r.join(", ")}`)}else r=l,n(`\u6784\u5EFA\u6240\u6709\u53EF\u7528\u7B56\u7565: ${r.join(", ")}`);n("\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55...");let{cleanViteOutputDirectory:i}=await Promise.resolve().then(()=>(A(),ae));i(t),n("\u{1F528} \u5F00\u59CB\u5E76\u884C\u6784\u5EFA...");let g=r.map(m=>Ye(m,t,e)),p=await Promise.all(g),d=p.filter(m=>m.success).length,f=p.length-d;console.log(`
140
- \u{1F4CA} \u6784\u5EFA\u7ED3\u679C\u7EDF\u8BA1:`),console.log(`\u2705 \u6210\u529F: ${d}`),console.log(`\u274C \u5931\u8D25: ${f}`),f>0&&(console.log(`
141
- \u274C \u5931\u8D25\u7684\u7B56\u7565:`),p.filter(m=>!m.success).forEach(m=>{console.log(` - ${m.strategy}: ${m.error}`)}),await Je(e),process.exit(1)),n("\u{1F4E6} \u5408\u5E76\u6784\u5EFA\u7ED3\u679C..."),await ze(p,a,e),await Qe(r,a,e);let u=p.filter(m=>m.success),b=h.readdirSync(x.resolve(process.cwd(),"dist")).filter(m=>m.endsWith(".html"));console.log(`
142
- \u{1F389} \u6240\u6709\u7B56\u7565\u6784\u5EFA\u6210\u529F\uFF01`),console.log("\u{1F4C1} \u6784\u5EFA\u7ED3\u679C\u4F4D\u4E8E: dist/"),console.log(`\u{1F310} \u751F\u6210\u7684\u9875\u9762: ${b.join(", ")}`),console.log(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${u.map(m=>m.strategy).join(", ")}`)}catch(a){console.error("\u274C \u6784\u5EFA\u5931\u8D25:",a instanceof Error?a.message:a),process.exit(1)}}require.main===module&&Oe().catch(t=>{console.error("\u274C \u672A\u5904\u7406\u7684\u9519\u8BEF:",t),process.exit(1)});0&&(module.exports={buildAll});
138
+ `),process.exit(0)):c!=="build"&&e.push(c)}return{viteBuildArgs:e,debug:r,cwd:s,strategies:n}}async function Ye(){let{loadUserConfig:t,hasCustomConfig:e}=await Promise.resolve().then(()=>(ce(),ue)),{mergeWithDefaults:r}=await Promise.resolve().then(()=>(K(),de)),s=null;return e()?s=await t({mode:"production",command:"build",isCLI:!0}):console.log("\u2139\uFE0F \u672A\u627E\u5230\u914D\u7F6E\u6587\u4EF6\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),r(s)}function ze(t,e,r){return new Promise(s=>{var g;let n=r?console.log.bind(console,`[${t}]`):()=>{};n(`\u5F00\u59CB\u6784\u5EFA\u7B56\u7565: ${t}`);let a={...process.env,VITE_MULTI_PAGE_STRATEGY:t},c=["build",...e];n(`\u6267\u884C\u547D\u4EE4: npx vite ${c.join(" ")}`);let l=(0,Te.spawn)("npx",["vite",...c],{stdio:r?"inherit":"pipe",env:a,cwd:process.cwd()}),i="";r||(g=l.stderr)==null||g.on("data",u=>{i+=u.toString()}),l.on("close",u=>{let o=u===0,f=L(e);if(o){n(`\u2705 \u7B56\u7565 ${t} \u6784\u5EFA\u6210\u529F`);try{if(y.existsSync(f)){let p=y.readdirSync(f);for(let d of p)if(d.startsWith(".temp.mp.")&&d.endsWith(".html")){let b=C.resolve(f,d),x=`${d.replace(/^\.temp\.mp\./,"").replace(/\.html$/,"")}.html`,S=C.resolve(f,x);y.renameSync(b,S),n(`\u91CD\u547D\u540DHTML: ${d} -> ${x}`)}}}catch(p){n("\u91CD\u547D\u540DHTML\u6587\u4EF6\u5931\u8D25:",p)}}else n(`\u274C \u7B56\u7565 ${t} \u6784\u5EFA\u5931\u8D25 (\u9000\u51FA\u7801: ${u})`),!r&&i&&console.error(`\u7B56\u7565 ${t} \u9519\u8BEF\u8F93\u51FA:`,i);s({strategy:t,success:o,error:o?void 0:i||`\u6784\u5EFA\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${u}`,outputDir:f})}),l.on("error",u=>{n(`\u274C \u7B56\u7565 ${t} \u6784\u5EFA\u51FA\u9519:`,u.message);let o=L(e);s({strategy:t,success:!1,error:u.message,outputDir:o})})})}async function qe(t,e,r){let s=r?console.log.bind(console,"[merge]"):()=>{};s("\u5F00\u59CB\u5408\u5E76\u6784\u5EFA\u7ED3\u679C...");let n=e.merge||"all";s(`\u4F7F\u7528\u5408\u5E76\u6A21\u5F0F: ${n}`),n==="all"?await Oe(t,r):await Je(t,e,r)}async function Oe(t,e){let r=e?console.log.bind(console,"[merge]"):()=>{},s=C.resolve(process.cwd(),"dist"),n=C.resolve(s,"assets");y.existsSync(n)||y.mkdirSync(n,{recursive:!0});let a=[];for(let c of t){if(!c.success)continue;let l=C.resolve(s,c.strategy);if(!y.existsSync(l)){r(`\u8B66\u544A: \u7B56\u7565\u76EE\u5F55\u4E0D\u5B58\u5728: ${l}`);continue}r(`\u5904\u7406\u7B56\u7565: ${c.strategy}`);let i=y.readdirSync(l,{withFileTypes:!0});for(let g of i){let u=C.resolve(l,g.name);if(g.isFile())if(g.name.endsWith(".html")){let o=C.resolve(s,g.name);y.copyFileSync(u,o),a.push(g.name),r(`\u590D\u5236HTML: ${g.name} -> dist/${g.name}`)}else{let o=C.resolve(s,g.name);y.copyFileSync(u,o),r(`\u590D\u5236\u6587\u4EF6: ${g.name} -> dist/${g.name}`)}else if(g.isDirectory()&&g.name==="assets"){let o=u,f=y.readdirSync(o,{withFileTypes:!0});for(let p of f){let d=C.resolve(o,p.name),b=C.resolve(n,p.name);if(p.isFile())if(y.existsSync(b)){let m=y.readFileSync(d),x=y.readFileSync(b);if(m.equals(x))r(`\u8DF3\u8FC7\u91CD\u590D\u8D44\u6E90: ${p.name}`);else{let S=C.extname(p.name),F=`${C.basename(p.name,S)}-${c.strategy}${S}`,k=C.resolve(n,F);y.copyFileSync(d,k),r(`\u590D\u5236\u8D44\u6E90(\u91CD\u547D\u540D): ${p.name} -> assets/${F}`)}}else y.copyFileSync(d,b),r(`\u590D\u5236\u8D44\u6E90: ${p.name} -> assets/${p.name}`);else if(p.isDirectory()){let m=C.resolve(n,p.name);y.existsSync(m)||y.mkdirSync(m,{recursive:!0}),y.cpSync(d,m,{recursive:!0}),r(`\u590D\u5236\u8D44\u6E90\u76EE\u5F55: ${p.name} -> assets/${p.name}`)}}}else if(g.isDirectory()){let o=C.resolve(s,g.name);y.cpSync(u,o,{recursive:!0}),r(`\u590D\u5236\u76EE\u5F55: ${g.name} -> dist/${g.name}`)}}}r("\u2705 \u6784\u5EFA\u7ED3\u679C\u5408\u5E76\u5B8C\u6210"),r(`\u{1F4C1} \u751F\u6210\u9875\u9762: ${a.join(", ")}`),r("\u{1F4E6} \u8D44\u6E90\u76EE\u5F55: dist/assets/"),r(`\u{1F527} \u5904\u7406\u7B56\u7565: ${t.filter(c=>c.success).map(c=>c.strategy).join(", ")}`)}async function Je(t,e,r){let s=r?console.log.bind(console,"[merge]"):()=>{};await Oe(t,r);let n=C.resolve(process.cwd(),"dist"),a=e.merge;s(`\u5E94\u7528${a}\u6A21\u5F0F\u7684\u8D44\u6E90\u91CD\u7EC4...`);try{let{reorganizeAssetsInCLI:c}=await Promise.resolve().then(()=>(Ee(),Fe));await c(n,a,e,s),s(`\u2705 ${a}\u6A21\u5F0F\u8D44\u6E90\u91CD\u7EC4\u5B8C\u6210`)}catch(c){throw s("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",c),c}}async function Qe(t){let e=t?console.log.bind(console,"[cleanup]"):()=>{};e("\u6E05\u7406\u4E34\u65F6HTML\u6587\u4EF6...");let r=X.sync(".temp.mp.*.html",{cwd:process.cwd()});for(let s of r){let n=C.resolve(process.cwd(),s);try{y.unlinkSync(n),e(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${s}`)}catch(a){e(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${s}`,a)}}r.length===0?e("\u6CA1\u6709\u627E\u5230\u4E34\u65F6\u6587\u4EF6"):e(`\u2705 \u6E05\u7406\u4E86 ${r.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`)}async function Ke(t,e,r){let s=r?console.log.bind(console,"[cleanup]"):()=>{};s("\u6E05\u7406\u4E34\u65F6\u6587\u4EF6...");let n=e.merge||"all",a=X.sync(".temp.mp.*.html",{cwd:process.cwd()});for(let c of a){let l=C.resolve(process.cwd(),c);try{y.unlinkSync(l),s(`\u5220\u9664\u6839\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6: ${c}`)}catch(i){s(`\u5220\u9664\u6839\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${c}`,i)}}for(let c of t){let l=C.resolve(process.cwd(),"dist",c);if(y.existsSync(l)){let i=X.sync("*.mp.temp.html",{cwd:l});for(let g of i){let u=C.resolve(l,g);try{y.unlinkSync(u),s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6: ${c}/${g}`)}catch(o){s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${c}/${g}`,o)}}}}if(n==="all"){let c=C.resolve(process.cwd(),"dist");for(let l of t){let i=C.resolve(c,l);if(y.existsSync(i))try{y.rmSync(i,{recursive:!0,force:!0}),s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55: ${l}`)}catch(g){s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u5931\u8D25: ${l}`,g)}}}else s(`\u4FDD\u7559\u7B56\u7565\u76EE\u5F55 (merge\u6A21\u5F0F: ${n})`);s("\u2705 \u6E05\u7406\u5B8C\u6210")}async function _e(){let{viteBuildArgs:t,debug:e,cwd:r,strategies:s}=Ge(),n=e?console.log.bind(console,"[main]"):()=>{};if(r){let a=C.resolve(process.cwd(),r);y.existsSync(a)||(console.error(`\u274C \u6307\u5B9A\u7684\u76EE\u5F55\u4E0D\u5B58\u5728: ${a}`),process.exit(1)),process.chdir(a),n(`\u5207\u6362\u5DE5\u4F5C\u76EE\u5F55\u5230: ${a}`)}try{n("\u{1F680} \u5F00\u59CB\u591A\u7B56\u7565\u6784\u5EFA..."),n("\u{1F4CB} \u52A0\u8F7D\u914D\u7F6E...");let a=await Ye(),{getAvailableStrategies:c}=await Promise.resolve().then(()=>(A(),ae)),l=c({entry:a.entry||"src/pages/*/main.{ts,js}",exclude:a.exclude||[],template:a.template||"index.html",placeholder:a.placeholder||"{{ENTRY_FILE}}",pageConfigs:a.pageConfigs||{},strategies:a.strategies||{}});if(l.length===0)throw new Error("\u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565");let i;if(s&&s.length>0){let m=s.filter(x=>!l.includes(x));if(m.length>0)throw new Error(`\u6307\u5B9A\u7684\u7B56\u7565\u4E0D\u5B58\u5728: ${m.join(", ")}
139
+ \u53EF\u7528\u7B56\u7565: ${l.join(", ")}`);i=s,n(`\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${i.join(", ")}`)}else i=l,n(`\u6784\u5EFA\u6240\u6709\u53EF\u7528\u7B56\u7565: ${i.join(", ")}`);n("\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55...");let{cleanViteOutputDirectory:g}=await Promise.resolve().then(()=>(A(),ae));g(t),n("\u{1F528} \u5F00\u59CB\u5E76\u884C\u6784\u5EFA...");let u=i.map(m=>ze(m,t,e)),o=await Promise.all(u),f=o.filter(m=>m.success).length,p=o.length-f;console.log(`
140
+ \u{1F4CA} \u6784\u5EFA\u7ED3\u679C\u7EDF\u8BA1:`),console.log(`\u2705 \u6210\u529F: ${f}`),console.log(`\u274C \u5931\u8D25: ${p}`),p>0&&(console.log(`
141
+ \u274C \u5931\u8D25\u7684\u7B56\u7565:`),o.filter(m=>!m.success).forEach(m=>{console.log(` - ${m.strategy}: ${m.error}`)}),await Qe(e),process.exit(1)),n("\u{1F4E6} \u5408\u5E76\u6784\u5EFA\u7ED3\u679C..."),await qe(o,a,e),await Ke(i,a,e);let d=o.filter(m=>m.success),b=y.readdirSync(C.resolve(process.cwd(),"dist")).filter(m=>m.endsWith(".html"));console.log(`
142
+ \u{1F389} \u6240\u6709\u7B56\u7565\u6784\u5EFA\u6210\u529F\uFF01`),console.log("\u{1F4C1} \u6784\u5EFA\u7ED3\u679C\u4F4D\u4E8E: dist/"),console.log(`\u{1F310} \u751F\u6210\u7684\u9875\u9762: ${b.join(", ")}`),console.log(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${d.map(m=>m.strategy).join(", ")}`)}catch(a){console.error("\u274C \u6784\u5EFA\u5931\u8D25:",a instanceof Error?a.message:a),process.exit(1)}}require.main===module&&_e().catch(t=>{console.error("\u274C \u672A\u5904\u7406\u7684\u9519\u8BEF:",t),process.exit(1)});0&&(module.exports={buildAll});
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- "use strict";var le=Object.create;var L=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var ge=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var me=(t,e)=>{for(var i in e)L(t,i,{get:e[i],enumerable:!0})},J=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ge(e))!fe.call(t,n)&&n!==i&&L(t,n,{get:()=>e[n],enumerable:!(s=ce(e,n))||s.enumerable});return t};var P=(t,e,i)=>(i=t!=null?le(pe(t)):{},J(e||!t||!t.__esModule?L(i,"default",{value:t,enumerable:!0}):i,t)),de=t=>J(L({},"__esModule",{value:!0}),t);var Pe={};me(Pe,{cleanViteOutputDirectory:()=>Z,default:()=>be,defineConfig:()=>re,defineConfigTransform:()=>se,generateBuildConfig:()=>k,getAvailableStrategies:()=>ee,getViteOutputDirectory:()=>H,mergeWithDefaults:()=>D,reorganizeAssetsInCLI:()=>ve,viteMultiPage:()=>ae});module.exports=de(Pe);var y=P(require("fs")),x=P(require("path")),ie=require("vite");var S=P(require("path")),I=P(require("fs")),Q=require("glob");var O=P(require("path"));function j(t,e,i,s){let n=[],c=new Map,g=e.replace(/\/\*.*$/,"");(!g||g===e)&&(g=O.dirname(e.split("*")[0]));let l=[];for(let r of t){if(i.includes(r))continue;let o=r.replace(/\\/g,"/"),a=g.replace(/\\/g,"/"),f=O.posix.relative(a,o).split("/");if(f.length===1){let m=f[0],u=O.posix.basename(m,O.posix.extname(m));l.push({name:u,file:r,priority:1})}else if(f.length>=2){let m=O.posix.basename(o,O.posix.extname(o)),u=f[0];m==="main"&&l.push({name:u,file:r,priority:2})}}for(let r of l){let o=c.get(r.name);o?r.priority>o.priority&&c.set(r.name,{file:r.file,priority:r.priority}):c.set(r.name,{file:r.file,priority:r.priority})}for(let[r,{file:o}]of c.entries())n.push({name:r,file:o});return n}function q(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function U(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}function T(t,e,i){if(!t)return null;if(typeof t=="function"){let s=t(e);return s}for(let[s,n]of Object.entries(t)){if(s===e.pageName)return i(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,n),n;if(n.match&&(Array.isArray(n.match)?n.match:[n.match]).some(l=>A(l,e.pageName)||A(l,e.relativePath)||A(l,e.filePath)))return i(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n.match}):`,n),{...n,match:void 0};if(A(s,e.pageName))return i(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${s}):`,n),n}return null}function A(t,e){let i=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${i}$`).test(e)}function ue(t,e,i){try{let s=Q.glob.sync(e.entry,{cwd:process.cwd()}),n=j(s,e.entry,e.exclude,i);if(n.length===0){i("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let c=e.devStrategy||t.config.__cliStrategy||t.config.strategy;c&&(i(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${c}`),n=n.filter(g=>{let l={pageName:g.name,filePath:g.file,relativePath:S.relative(process.cwd(),g.file),strategy:void 0,isMatched:!1},r=T(e.pageConfigs,l,i),o=(r==null?void 0:r.strategy)||"default";return c==="default"?o==="default":o===c}),i(`\u7B56\u7565 "${c}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${n.map(g=>g.name).join(", ")||"\u65E0"}`)),i("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",n),t.middlewares.use(async(g,l,r)=>{try{let a=(g.url||"").split("?")[0];if(a==="/"){let m=he(n,e,i);l.statusCode=200,l.setHeader("Content-Type","text/html"),l.end(m);return}if(a.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!a.endsWith(".html")||a.startsWith("/@")||a.includes("__vite")||a.startsWith("/node_modules"))return r();let p="";if(a.endsWith(".html"))p=S.basename(a,".html");else if(a.startsWith("/")){let m=a.substring(1);if(n.find(u=>u.name===m))p=m;else{let u=m.split("/");if(u.length>1){let v=u[0];n.find(d=>d.name===v)&&(p=v,i(`History \u8DEF\u7531\u5339\u914D: ${a} -> ${v}`))}}}if(!p)return r();let f=n.find(m=>m.name===p);return f?ye(l,f,e,i):r()}catch(o){i(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${o}`),r(o)}}),i("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(s){throw i(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${s}`),s}}function ye(t,e,i,s){var a;let n={pageName:e.name,filePath:e.file,relativePath:S.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},c=T(i.pageConfigs,n,s);if(c!=null&&c.strategy)n.strategy=c.strategy;else if((a=i.appliedStrategies)!=null&&a.has(e.name)){let p=i.appliedStrategies.get(e.name);p&&(n.strategy=p)}let g="",l=S.resolve(process.cwd(),`${e.name}.html`);if(I.existsSync(l)?g=l:c!=null&&c.template?g=S.resolve(process.cwd(),c.template):g=S.resolve(process.cwd(),i.template),!I.existsSync(g)){t.statusCode=404,t.end("Template not found");return}let r=I.readFileSync(g,"utf-8");if(r.includes(i.placeholder)){let p=r;if(r=r.split(i.placeholder).join(`/${e.file}`),r===p){let f=q(i.placeholder),m=new RegExp(f,"g");r=p.replace(m,`/${e.file}`),r===p&&(r=p.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(c!=null&&c.define){let p=Object.entries(c.define).map(([f,m])=>{let u=typeof m=="string"?`"${m}"`:JSON.stringify(m);return`window.${f} = ${u};`}).join(`
2
- `);p&&(r=r.replace(/<\/head>/i,`<script type="text/javascript">
3
- ${p}
1
+ "use strict";var ce=Object.create;var L=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames;var fe=Object.getPrototypeOf,me=Object.prototype.hasOwnProperty;var ue=(t,e)=>{for(var i in e)L(t,i,{get:e[i],enumerable:!0})},q=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of pe(e))!me.call(t,r)&&r!==i&&L(t,r,{get:()=>e[r],enumerable:!(n=ge(e,r))||n.enumerable});return t};var P=(t,e,i)=>(i=t!=null?ce(fe(t)):{},q(e||!t||!t.__esModule?L(i,"default",{value:t,enumerable:!0}):i,t)),de=t=>q(L({},"__esModule",{value:!0}),t);var Pe={};ue(Pe,{cleanViteOutputDirectory:()=>Z,default:()=>Se,defineConfig:()=>re,defineConfigTransform:()=>se,generateBuildConfig:()=>U,getAvailableStrategies:()=>ee,getViteOutputDirectory:()=>H,mergeWithDefaults:()=>N,reorganizeAssetsInCLI:()=>be,viteMultiPage:()=>le});module.exports=de(Pe);var d=P(require("fs")),h=P(require("path")),ie=require("vite");var $=P(require("path")),R=P(require("fs")),Q=require("glob");var O=P(require("path"));function I(t,e,i,n){let r=[],g=new Map,f=e.replace(/\/\*.*$/,"");(!f||f===e)&&(f=O.dirname(e.split("*")[0]));let c=[];for(let s of t){if(i.includes(s))continue;let p=s.replace(/\\/g,"/"),m=f.replace(/\\/g,"/"),o=O.posix.relative(m,p).split("/");if(o.length===1){let l=o[0],y=O.posix.basename(l,O.posix.extname(l));c.push({name:y,file:s,priority:1})}else if(o.length>=2){let l=O.posix.basename(p,O.posix.extname(p)),y=o[0];l==="main"&&c.push({name:y,file:s,priority:2})}}for(let s of c){let p=g.get(s.name);p?s.priority>p.priority&&g.set(s.name,{file:s.file,priority:s.priority}):g.set(s.name,{file:s.file,priority:s.priority})}for(let[s,{file:p}]of g.entries())r.push({name:s,file:p});return r}function J(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function k(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}function _(t,e,i){if(!t)return null;if(typeof t=="function"){let n=t(e);return n}for(let[n,r]of Object.entries(t)){if(n===e.pageName)return i(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,r),r;if(r.match&&(Array.isArray(r.match)?r.match:[r.match]).some(c=>A(c,e.pageName)||A(c,e.relativePath)||A(c,e.filePath)))return i(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${r.match}):`,r),{...r,match:void 0};if(A(n,e.pageName))return i(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n}):`,r),r}return null}function A(t,e){let i=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${i}$`).test(e)}function ye(t,e,i){try{let n=Q.glob.sync(e.entry,{cwd:process.cwd()}),r=I(n,e.entry,e.exclude,i);if(r.length===0){i("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let g=e.devStrategy||t.config.__cliStrategy||t.config.strategy;g&&(i(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${g}`),r=r.filter(f=>{let c={pageName:f.name,filePath:f.file,relativePath:$.relative(process.cwd(),f.file),strategy:void 0,isMatched:!1},s=_(e.pageConfigs,c,i),p=(s==null?void 0:s.strategy)||"default";return g==="default"?p==="default":p===g}),i(`\u7B56\u7565 "${g}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${r.map(f=>f.name).join(", ")||"\u65E0"}`)),i("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",r),t.middlewares.use(async(f,c,s)=>{try{let m=(f.url||"").split("?")[0];if(m==="/"){let l=xe(r,e,i);c.statusCode=200,c.setHeader("Content-Type","text/html"),c.end(l);return}if(m.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!m.endsWith(".html")||m.startsWith("/@")||m.includes("__vite")||m.startsWith("/node_modules"))return s();let a="";if(m.endsWith(".html"))a=$.basename(m,".html");else if(m.startsWith("/")){let l=m.substring(1);if(r.find(y=>y.name===l))a=l;else{let y=l.split("/");if(y.length>1){let C=y[0];r.find(u=>u.name===C)&&(a=C,i(`History \u8DEF\u7531\u5339\u914D: ${m} -> ${C}`))}}}if(!a)return s();let o=r.find(l=>l.name===a);return o?he(c,o,e,i):s()}catch(p){i(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${p}`),s(p)}}),i("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(n){throw i(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${n}`),n}}function he(t,e,i,n){var m;let r={pageName:e.name,filePath:e.file,relativePath:$.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},g=_(i.pageConfigs,r,n);if(g!=null&&g.strategy)r.strategy=g.strategy;else if((m=i.appliedStrategies)!=null&&m.has(e.name)){let a=i.appliedStrategies.get(e.name);a&&(r.strategy=a)}let f="",c=$.resolve(process.cwd(),`${e.name}.html`);if(R.existsSync(c)?f=c:g!=null&&g.template?f=$.resolve(process.cwd(),g.template):f=$.resolve(process.cwd(),i.template),!R.existsSync(f)){t.statusCode=404,t.end("Template not found");return}let s=R.readFileSync(f,"utf-8");if(s.includes(i.placeholder)){let a=s;if(s=s.split(i.placeholder).join(`/${e.file}`),s===a){let o=J(i.placeholder),l=new RegExp(o,"g");s=a.replace(l,`/${e.file}`),s===a&&(s=a.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(g!=null&&g.define){let a=Object.entries(g.define).map(([o,l])=>{let y=typeof l=="string"?`"${l}"`:JSON.stringify(l);return`window.${o} = ${y};`}).join(`
2
+ `);a&&(s=s.replace(/<\/head>/i,`<script type="text/javascript">
3
+ ${a}
4
4
  </script>
5
- </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(r)}var K=ue;function he(t,e,i){try{let s=t.map(n=>{var o;let c={pageName:n.name,filePath:n.file,relativePath:S.relative(process.cwd(),n.file),strategy:void 0,isMatched:!1},g=T(e.pageConfigs,c,i),l="default";if(g!=null&&g.strategy)l=g.strategy;else if((o=e.appliedStrategies)!=null&&o.has(n.name)){let a=e.appliedStrategies.get(n.name);a&&(l=a)}let r=l!=="default"?`<span class="badge">${l}</span>`:"";return`
5
+ </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(s)}var K=ye;function xe(t,e,i){try{let n=t.map(r=>{var p;let g={pageName:r.name,filePath:r.file,relativePath:$.relative(process.cwd(),r.file),strategy:void 0,isMatched:!1},f=_(e.pageConfigs,g,i),c="default";if(f!=null&&f.strategy)c=f.strategy;else if((p=e.appliedStrategies)!=null&&p.has(r.name)){let m=e.appliedStrategies.get(r.name);m&&(c=m)}let s=c!=="default"?`<span class="badge">${c}</span>`:"";return`
6
6
  <div class="page-item">
7
- <a href="${n.name}.html" class="page-link">
8
- ${n.name}${r}
7
+ <a href="${r.name}.html" class="page-link">
8
+ ${r.name}${s}
9
9
  </a>
10
- <div class="page-path">${n.file}</div>
10
+ <div class="page-path">${r.file}</div>
11
11
  </div>`}).join("");return`
12
12
  <!DOCTYPE html>
13
13
  <html lang="en">
@@ -83,11 +83,11 @@ ${p}
83
83
  \u627E\u5230 ${t.length} \u4E2A\u9875\u9762
84
84
  </div>
85
85
  <div class="page-list">
86
- ${s}
86
+ ${n}
87
87
  </div>
88
88
  </body>
89
89
  </html>
90
- `}catch(s){return i(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${s}`),`
90
+ `}catch(n){return i(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${n}`),`
91
91
  <!DOCTYPE html>
92
92
  <html>
93
93
  <head>
@@ -95,13 +95,13 @@ ${p}
95
95
  </head>
96
96
  <body>
97
97
  <h1>\u751F\u6210\u7D22\u5F15\u9875\u65F6\u53D1\u751F\u9519\u8BEF</h1>
98
- <p>${s}</p>
98
+ <p>${n}</p>
99
99
  </body>
100
100
  </html>
101
- `}}var X=require("vite"),G=require("glob"),C=P(require("path")),$=P(require("fs"));function k(t){var a;let{entry:e="src/pages/*/main.{ts,js}",exclude:i=[],template:s="index.html",placeholder:n="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:c={},pageConfigs:g={},forceBuildStrategy:l}=t,r=U(!0),o={};try{let p=G.glob.sync(e,{cwd:process.cwd()}),f=j(p,e,i,r);if(f.length===0)return r("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let m=new Map,u=new Map;for(let d of f){let h={pageName:d.name,filePath:d.file,relativePath:C.relative(process.cwd(),d.file)},b=T(g,h,r),w=(b==null?void 0:b.strategy)||"default";m.set(d.name,w),u.has(w)||u.set(w,[]),(a=u.get(w))==null||a.push(d.name)}if(r(`\u{1F4C4} \u53D1\u73B0 ${f.length} \u4E2A\u9875\u9762: ${f.map(d=>d.name).join(", ")}`),l){let d=u.get(l)||[];if(d.length===0)return r(`\u8B66\u544A: \u7B56\u7565 "${l}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};r(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${l}, \u9875\u9762: ${d.join(", ")}`);let h=W(l,d,f,c[l],g,s,n,r);return o[l]=h,o}for(let[d,h]of u){if(h.length===0)continue;let b=c[d]||{},w=W(d,h,f,b,g,s,n,r);o[d]=w}if(Object.keys(o).length===0){r("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let d=f.map(b=>b.name),h=W("default",d,f,{},g,s,n,r);o.default=h}let v=Object.keys(o);return r(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${v.join(", ")}`),o}catch(p){throw r("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",p),p}}function W(t,e,i,s,n,c,g,l){let r={},o=[],a={};for(let m of e){let u=i.find(B=>B.name===m);if(!u)continue;let v={pageName:m,filePath:u.file,relativePath:C.relative(process.cwd(),u.file),strategy:t},d=T(n,v,l);d!=null&&d.define&&Object.assign(a,d.define);let h=c,b=`${m}.html`;$.existsSync(C.resolve(process.cwd(),b))?h=b:d!=null&&d.template&&(h=d.template);let w=C.resolve(process.cwd(),h);if(!$.existsSync(w)){l(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${h}`);continue}let N=$.readFileSync(w,"utf-8");if(N.includes(g)){let B=`./${u.file}`;N=N.replace(new RegExp(g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),B)}let V=C.resolve(process.cwd(),`.temp.mp.${m}.html`);$.writeFileSync(V,N),o.push(V),r[m]=V}let p={build:{rollupOptions:{input:r,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},f=p;return s&&(f=(0,X.mergeConfig)(p,s)),Object.keys(a).length>0&&(f.define={...f.define,...a}),f.build||(f.build={}),f.build.rollupOptions||(f.build.rollupOptions={}),f.build.rollupOptions.input=r,f.build.emptyOutDir=!1,l(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),f}function H(t=[]){let e=t.findIndex(s=>s==="--outDir");if(e!==-1&&e+1<t.length){let s=t[e+1];return C.resolve(process.cwd(),s)}let i=t.find(s=>s.startsWith("--outDir="));if(i){let s=i.split("=")[1];return C.resolve(process.cwd(),s)}return C.resolve(process.cwd(),"dist")}function Z(t=[]){let e=H(t),i=U(!0);try{$.existsSync(e)&&($.rmSync(e,{recursive:!0,force:!0}),i(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${C.relative(process.cwd(),e)}`))}catch(s){i(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,s)}}function ee(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:i=[],pageConfigs:s={}}=t,n=U(!1),c=new Set,g=G.glob.sync(e,{cwd:process.cwd()}),l=j(g,e,i,n);if(l.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let r of l){let o={pageName:r.name,filePath:r.file,relativePath:C.relative(process.cwd(),r.file)},a=T(s,o,n),p=(a==null?void 0:a.strategy)||"default";c.add(p)}return Array.from(c).sort()}catch(r){return n("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",r),["default"]}}var M=P(require("fs")),_=P(require("path")),te=require("url"),R=require("module"),ne=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function Y(){for(let t of ne){let e=_.resolve(process.cwd(),t);if(M.existsSync(e))return!0}return!1}async function z(t){let e=await Ce();if(e){let i=e(t);return i||{}}return null}async function xe(t){if(t.endsWith(".ts"))try{let e=await M.promises.readFile(t,"utf-8"),i;try{i=await import("esbuild")}catch{throw console.error(`
101
+ `}}var X=require("vite"),G=require("glob"),S=P(require("path")),w=P(require("fs"));function U(t){var m;let{entry:e="src/pages/*/main.{ts,js}",exclude:i=[],template:n="index.html",placeholder:r="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:g={},pageConfigs:f={},forceBuildStrategy:c}=t,s=k(!0),p={};try{let a=G.glob.sync(e,{cwd:process.cwd()}),o=I(a,e,i,s);if(o.length===0)return s("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let l=new Map,y=new Map;for(let u of o){let x={pageName:u.name,filePath:u.file,relativePath:S.relative(process.cwd(),u.file)},v=_(f,x,s),b=(v==null?void 0:v.strategy)||"default";l.set(u.name,b),y.has(b)||y.set(b,[]),(m=y.get(b))==null||m.push(u.name)}if(s(`\u{1F4C4} \u53D1\u73B0 ${o.length} \u4E2A\u9875\u9762: ${o.map(u=>u.name).join(", ")}`),c){let u=y.get(c)||[];if(u.length===0)return s(`\u8B66\u544A: \u7B56\u7565 "${c}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};s(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${c}, \u9875\u9762: ${u.join(", ")}`);let x=W(c,u,o,g[c],f,n,r,s);return p[c]=x,p}for(let[u,x]of y){if(x.length===0)continue;let v=g[u]||{},b=W(u,x,o,v,f,n,r,s);p[u]=b}if(Object.keys(p).length===0){s("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let u=o.map(v=>v.name),x=W("default",u,o,{},f,n,r,s);p.default=x}let C=Object.keys(p);return s(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${C.join(", ")}`),p}catch(a){throw s("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",a),a}}function W(t,e,i,n,r,g,f,c){let s={},p=[],m={};for(let l of e){let y=i.find(B=>B.name===l);if(!y)continue;let C={pageName:l,filePath:y.file,relativePath:S.relative(process.cwd(),y.file),strategy:t},u=_(r,C,c);u!=null&&u.define&&Object.assign(m,u.define);let x=g,v=`${l}.html`;w.existsSync(S.resolve(process.cwd(),v))?x=v:u!=null&&u.template&&(x=u.template);let b=S.resolve(process.cwd(),x);if(!w.existsSync(b)){c(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${x}`);continue}let E=w.readFileSync(b,"utf-8");if(E.includes(f)){let B=`./${y.file}`;E=E.replace(new RegExp(f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),B)}let V=S.resolve(process.cwd(),`.temp.mp.${l}.html`);w.writeFileSync(V,E),p.push(V),s[l]=V}let a={build:{rollupOptions:{input:s,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},o=a;return n&&(o=(0,X.mergeConfig)(a,n)),Object.keys(m).length>0&&(o.define={...o.define,...m}),o.build||(o.build={}),o.build.rollupOptions||(o.build.rollupOptions={}),o.build.rollupOptions.input=s,o.build.emptyOutDir=!1,c(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),o}function H(t=[]){let e=t.findIndex(n=>n==="--outDir");if(e!==-1&&e+1<t.length){let n=t[e+1];return S.resolve(process.cwd(),n)}let i=t.find(n=>n.startsWith("--outDir="));if(i){let n=i.split("=")[1];return S.resolve(process.cwd(),n)}return S.resolve(process.cwd(),"dist")}function Z(t=[]){let e=H(t),i=k(!0);try{w.existsSync(e)&&(w.rmSync(e,{recursive:!0,force:!0}),i(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${S.relative(process.cwd(),e)}`))}catch(n){i(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,n)}}function ee(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:i=[],pageConfigs:n={}}=t,r=k(!1),g=new Set,f=G.glob.sync(e,{cwd:process.cwd()}),c=I(f,e,i,r);if(c.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let s of c){let p={pageName:s.name,filePath:s.file,relativePath:S.relative(process.cwd(),s.file)},m=_(n,p,r),a=(m==null?void 0:m.strategy)||"default";g.add(a)}return Array.from(g).sort()}catch(s){return r("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",s),["default"]}}var j=P(require("fs")),M=P(require("path")),te=require("url"),D=require("module"),ne=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function Y(){for(let t of ne){let e=M.resolve(process.cwd(),t);if(j.existsSync(e))return!0}return!1}async function z(t){let e=await ve();if(e){let i=e(t);return i||{}}return null}async function Ce(t){if(t.endsWith(".ts"))try{let e=await j.promises.readFile(t,"utf-8"),i;try{i=await import("esbuild")}catch{throw console.error(`
102
102
  \u274C \u65E0\u6CD5\u52A0\u8F7D TypeScript \u914D\u7F6E\u6587\u4EF6\uFF0C\u56E0\u4E3A\u627E\u4E0D\u5230 esbuild \u4F9D\u8D56\u3002`),console.error(`
103
103
  \u{1F4A1} \u8BF7\u9009\u62E9\u4EE5\u4E0B\u89E3\u51B3\u65B9\u6848\u4E4B\u4E00\uFF1A`),console.error(' 1. \u5B89\u88C5 esbuild (peerDependency)\uFF1Anpm install esbuild@">=0.19.3" --save-dev'),console.error(" 2. \u6216\u8005\u5982\u679C\u4F7F\u7528 Vite \u9879\u76EE\uFF0Cesbuild \u901A\u5E38\u5DF2\u5B89\u88C5\uFF0C\u8BF7\u68C0\u67E5\u7248\u672C\u662F\u5426 >=0.19.3"),console.error(" 3. \u4F7F\u7528 JavaScript \u914D\u7F6E\u6587\u4EF6\uFF1A\u5C06 multipage.config.ts \u91CD\u547D\u540D\u4E3A multipage.config.js"),console.error(` 4. \u4F7F\u7528 ESM \u914D\u7F6E\u6587\u4EF6\uFF1A\u5C06 multipage.config.ts \u91CD\u547D\u540D\u4E3A multipage.config.mjs
104
- `),new Error(`\u9700\u8981 esbuild \u4F9D\u8D56\u6765\u5904\u7406 TypeScript \u914D\u7F6E\u6587\u4EF6: ${_.basename(t)}`)}let s=await i.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),n=new R.Module(t);return n.filename=t,n.paths=R.Module._nodeModulePaths(_.dirname(t)),n._compile(s.code,t),n.exports}catch(e){if(e instanceof Error&&e.message.includes("\u9700\u8981 esbuild \u4F9D\u8D56"))throw e;console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let s=(await M.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),n=new R.Module(t);return n.filename=t,n.paths=R.Module._nodeModulePaths(_.dirname(t)),n._compile(s,t),n.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${(0,te.pathToFileURL)(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function Ce(){let t=process.cwd();for(let e of ne){let i=_.resolve(t,e);if(M.existsSync(i))try{let s=await xe(i),n=s.default||s;if(typeof n=="function")return n;console.warn(`\u914D\u7F6E\u6587\u4EF6 ${e} \u5FC5\u987B\u9ED8\u8BA4\u5BFC\u51FA\u4E00\u4E2A\u51FD\u6570`)}catch(s){e.endsWith(".ts")?(console.error(`\u52A0\u8F7DTypeScript\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,s),console.log("\u63D0\u793A\uFF1A\u786E\u4FDD\u4F60\u7684\u9879\u76EE\u652F\u6301TypeScript\uFF0C\u6216\u8005\u4F7F\u7528 .js/.mjs \u914D\u7F6E\u6587\u4EF6")):console.error(`\u52A0\u8F7D\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,s)}}return null}var E={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,merge:"all",strategies:{default:{}},pageConfigs:{}};function D(t){return t?{entry:t.entry??E.entry,exclude:t.exclude??E.exclude,template:t.template??E.template,placeholder:t.placeholder??E.placeholder,debug:t.debug??E.debug,merge:t.merge??E.merge,strategies:t.strategies??E.strategies,pageConfigs:t.pageConfigs??E.pageConfigs,__forceBuildStrategy:t.__forceBuildStrategy}:{...E}}function re(t){return typeof t=="function"?t:()=>t}function se(t){return t}function oe(t,e,i,s){let n=x.resolve(t,"assets");if(!y.existsSync(n)){s("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let c=y.readdirSync(t).filter(r=>r.endsWith(".html")).map(r=>x.resolve(t,r));if(c.length===0){s("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let g=new Map,l=new Map;if(c.forEach(r=>{var d;let o=x.basename(r,".html");o.startsWith(".temp.mp.")&&(o=o.replace(".temp.mp.",""));let a=y.readFileSync(r,"utf-8"),p=[],f=/(?:src|href)="\/assets\/([^"]+)"/g,m;for(;(m=f.exec(a))!==null;){let h=m[1];p.push(h),l.has(h)||l.set(h,[]),(d=l.get(h))==null||d.push(o)}let u="";e==="strategy"?u="default":e==="page"&&(u=o);let v=x.resolve(t,u);g.set(o,{assets:p,targetDir:v}),s(`\u9875\u9762 ${o} \u4F9D\u8D56\u8D44\u6E90:`,p)}),l.forEach((r,o)=>{r.length>1?s(`\u5171\u4EAB\u8D44\u6E90 ${o} \u88AB\u9875\u9762\u4F7F\u7528:`,r):s(`\u72EC\u5360\u8D44\u6E90 ${o} \u4EC5\u88AB\u9875\u9762 ${r[0]} \u4F7F\u7528`)}),g.forEach(({assets:r,targetDir:o},a)=>{let p=x.resolve(o,"assets");y.existsSync(p)||y.mkdirSync(p,{recursive:!0}),r.forEach(f=>{let m=x.resolve(n,f),u=x.resolve(p,f);y.existsSync(m)?(y.copyFileSync(m,u),s(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${a}: assets/${f} -> ${x.relative(t,u)}`)):s(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${m}`)})}),g.forEach(({targetDir:r},o)=>{let a=x.resolve(t,`${o}.html`),p=o;if(y.existsSync(a)||(a=x.resolve(t,`.temp.mp.${o}.html`),y.existsSync(a)&&(p=o)),y.existsSync(a)){let f=y.readFileSync(a,"utf-8");f=f.replace(/(?:src|href)="\/assets\//g,v=>v.replace("/assets/","./assets/"));let m;e==="strategy"?m=x.resolve(r,`${p}.html`):e==="page"?m=x.resolve(r,"index.html"):m=a,y.writeFileSync(m,f),m!==a&&y.unlinkSync(a);let u=x.relative(t,m);s(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${p}.html -> ${u}`)}else s(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${o}.html \u6216 .temp.mp.${o}.html`)}),y.existsSync(n))if(e==="strategy"||e==="page")try{y.rmSync(n,{recursive:!0,force:!0}),s("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(r){s("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",r)}else{l.forEach((o,a)=>{let p=x.resolve(n,a);y.existsSync(p)&&(y.unlinkSync(p),s(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${a}`))});let r=y.readdirSync(n);r.length===0?(y.rmdirSync(n),s("\u6E05\u7406\u7A7A\u7684assets\u76EE\u5F55")):s("assets\u76EE\u5F55\u4E2D\u8FD8\u6709\u672A\u5904\u7406\u7684\u6587\u4EF6:",r)}}function ae(t){let e,i=[],s=()=>{};return{name:"vite-multi-page",async configResolved(n){let c=null;Y()&&(c=await z({mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}));let g=D(c);e=t?t(g,{mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}):g,s=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},s("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(n,{command:c}){var g;if(c==="serve"){let l=process.argv,r=l.find(o=>o.startsWith("--strategy="));if(r){let o=r.split("=")[1];o&&(process.env.VITE_MULTI_PAGE_STRATEGY=o)}else{let o=l.findIndex(a=>a==="--strategy");if(o!==-1&&o+1<l.length){let a=l[o+1];process.env.VITE_MULTI_PAGE_STRATEGY=a}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(c==="build"){if(!e){let a=null;Y()&&(a=await z({mode:"production",command:"build",isCLI:!1}));let p=D(a);e=t?t(p,{mode:"production",command:"build",isCLI:!1}):p,s=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}s("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let l=process.env.VITE_MULTI_PAGE_STRATEGY,r=k({entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",merge:e.merge||"all",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},forceBuildStrategy:l}),o=Object.keys(r)[0];if(o&&r[o]){s(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${o}`);let a=r[o],p=(0,ie.mergeConfig)(n,a);Object.assign(n,p),s(`\u5DF2\u5E94\u7528\u7B56\u7565 "${o}" \u7684\u914D\u7F6E:`,{build:!!a.build,define:!!a.define,plugins:((g=a.plugins)==null?void 0:g.length)||0})}else throw s("\u672A\u627E\u5230\u53EF\u7528\u7684\u6784\u5EFA\u7B56\u7565\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),new Error(`\u274C \u6784\u5EFA\u5931\u8D25: \u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565
104
+ `),new Error(`\u9700\u8981 esbuild \u4F9D\u8D56\u6765\u5904\u7406 TypeScript \u914D\u7F6E\u6587\u4EF6: ${M.basename(t)}`)}let n=await i.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),r=new D.Module(t);return r.filename=t,r.paths=D.Module._nodeModulePaths(M.dirname(t)),r._compile(n.code,t),r.exports}catch(e){if(e instanceof Error&&e.message.includes("\u9700\u8981 esbuild \u4F9D\u8D56"))throw e;console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let n=(await j.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),r=new D.Module(t);return r.filename=t,r.paths=D.Module._nodeModulePaths(M.dirname(t)),r._compile(n,t),r.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${(0,te.pathToFileURL)(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function ve(){let t=process.cwd();for(let e of ne){let i=M.resolve(t,e);if(j.existsSync(i))try{let n=await Ce(i),r=n.default||n;if(typeof r=="function")return r;console.warn(`\u914D\u7F6E\u6587\u4EF6 ${e} \u5FC5\u987B\u9ED8\u8BA4\u5BFC\u51FA\u4E00\u4E2A\u51FD\u6570`)}catch(n){e.endsWith(".ts")?(console.error(`\u52A0\u8F7DTypeScript\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,n),console.log("\u63D0\u793A\uFF1A\u786E\u4FDD\u4F60\u7684\u9879\u76EE\u652F\u6301TypeScript\uFF0C\u6216\u8005\u4F7F\u7528 .js/.mjs \u914D\u7F6E\u6587\u4EF6")):console.error(`\u52A0\u8F7D\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,n)}}return null}var F={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,merge:"all",strategies:{default:{}},pageConfigs:{}};function N(t){return t?{entry:t.entry??F.entry,exclude:t.exclude??F.exclude,template:t.template??F.template,placeholder:t.placeholder??F.placeholder,debug:t.debug??F.debug,merge:t.merge??F.merge,strategies:t.strategies??F.strategies,pageConfigs:t.pageConfigs??F.pageConfigs,__forceBuildStrategy:t.__forceBuildStrategy}:{...F}}var ae=P(require("glob"));function re(t){return typeof t=="function"?t:()=>t}function se(t){return t}function oe(t,e,i,n){let r=h.resolve(t,"assets");if(!d.existsSync(r)){n("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let g=d.readdirSync(t).filter(a=>a.endsWith(".html")).map(a=>h.resolve(t,a));if(g.length===0){if(n("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u4F46\u4ECD\u9700\u6E05\u7406assets\u76EE\u5F55"),(e==="strategy"||e==="page")&&d.existsSync(r))try{d.rmSync(r,{recursive:!0,force:!0}),n("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(a){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",a)}return}let f=new Map,c=new Map;g.forEach(a=>{var b;let o=h.basename(a,".html");o.startsWith(".temp.mp.")&&(o=o.replace(".temp.mp.",""));let l=d.readFileSync(a,"utf-8"),y=[],C=/(?:src|href)="\/assets\/([^"]+)"/g,u;for(;(u=C.exec(l))!==null;){let E=u[1];y.push(E),c.has(E)||c.set(E,[]),(b=c.get(E))==null||b.push(o)}let x="";e==="strategy"?x="default":e==="page"&&(x=o);let v=h.resolve(t,x);f.set(o,{assets:y,targetDir:v}),n(`\u9875\u9762 ${o} \u4F9D\u8D56\u8D44\u6E90:`,y)}),n("\u7B2C\u4E00\u9636\u6BB5\u8865\u5145\uFF1A\u5206\u6790public\u76EE\u5F55\u8D44\u6E90");let s=new Set,p=h.resolve(process.cwd(),"public");if(d.existsSync(p)){let a=ae.sync("**/*",{cwd:p,nodir:!0});for(let o of a)s.add(o),n(`\u53D1\u73B0public\u8D44\u6E90: ${o}`)}c.forEach((a,o)=>{a.length>1?n(`\u5171\u4EAB\u8D44\u6E90 ${o} \u88AB\u9875\u9762\u4F7F\u7528:`,a):n(`\u72EC\u5360\u8D44\u6E90 ${o} \u4EC5\u88AB\u9875\u9762 ${a[0]} \u4F7F\u7528`)}),f.forEach(({assets:a,targetDir:o},l)=>{let y=h.resolve(o,"assets");d.existsSync(y)||d.mkdirSync(y,{recursive:!0}),a.forEach(C=>{let u=h.resolve(r,C),x=h.resolve(y,C);d.existsSync(u)?(d.copyFileSync(u,x),n(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${l}: assets/${C} -> ${h.relative(t,x)}`)):n(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${u}`)})}),n("\u7B2C\u4E09\u9636\u6BB5\u8865\u5145\uFF1A\u5904\u7406public\u76EE\u5F55\u8D44\u6E90");let m=new Set;f.forEach(({targetDir:a})=>{m.add(a)});for(let a of m)for(let o of s){let l=h.resolve(t,o),y=h.resolve(a,o);if(d.existsSync(l)){let C=h.dirname(y);d.existsSync(C)||d.mkdirSync(C,{recursive:!0}),d.copyFileSync(l,y),n(`\u590D\u5236public\u8D44\u6E90: ${o} -> ${h.relative(t,y)}`)}}if(f.forEach(({targetDir:a},o)=>{let l=h.resolve(t,`${o}.html`),y=o;if(d.existsSync(l)||(l=h.resolve(t,`.temp.mp.${o}.html`),d.existsSync(l)&&(y=o)),d.existsSync(l)){let C=d.readFileSync(l,"utf-8");C=C.replace(/(?:src|href)="\/assets\//g,v=>v.replace("/assets/","./assets/"));let u;e==="strategy"?u=h.resolve(a,`${y}.html`):e==="page"?u=h.resolve(a,"index.html"):u=l,d.writeFileSync(u,C),u!==l&&d.unlinkSync(l);let x=h.relative(t,u);n(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${y}.html -> ${x}`)}else n(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${o}.html \u6216 .temp.mp.${o}.html`)}),d.existsSync(r))if(e==="strategy"||e==="page")try{d.rmSync(r,{recursive:!0,force:!0}),n("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(a){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",a)}else{c.forEach((o,l)=>{let y=h.resolve(r,l);d.existsSync(y)&&(d.unlinkSync(y),n(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${l}`))});let a=d.readdirSync(r);a.length===0?(d.rmdirSync(r),n("\u6E05\u7406\u7A7A\u7684assets\u76EE\u5F55")):n("assets\u76EE\u5F55\u4E2D\u8FD8\u6709\u672A\u5904\u7406\u7684\u6587\u4EF6:",a)}(e==="strategy"||e==="page")&&s.size>0&&(n("\u7B2C\u4E94\u9636\u6BB5\u8865\u5145\uFF1A\u6E05\u7406\u6839\u76EE\u5F55\u7684public\u8D44\u6E90"),s.forEach(a=>{let o=h.resolve(t,a);if(d.existsSync(o))try{d.unlinkSync(o),n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90: ${a}`)}catch(l){n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90\u5931\u8D25: ${a}`,l)}}),s.forEach(a=>{let o=h.resolve(t,a),l=h.dirname(o);for(;l!==t&&l!==h.dirname(l);)try{if(d.existsSync(l)&&d.readdirSync(l).length===0)d.rmdirSync(l),n(`\u5220\u9664\u7A7A\u76EE\u5F55: ${h.relative(t,l)}`),l=h.dirname(l);else break}catch{break}}))}function le(t){let e,i=[],n=()=>{};return{name:"vite-multi-page",async configResolved(r){let g=null;Y()&&(g=await z({mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}));let f=N(g);e=t?t(f,{mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}):f,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},n("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(r,{command:g}){var f;if(g==="serve"){let c=process.argv,s=c.find(p=>p.startsWith("--strategy="));if(s){let p=s.split("=")[1];p&&(process.env.VITE_MULTI_PAGE_STRATEGY=p)}else{let p=c.findIndex(m=>m==="--strategy");if(p!==-1&&p+1<c.length){let m=c[p+1];process.env.VITE_MULTI_PAGE_STRATEGY=m}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(g==="build"){if(!e){let m=null;Y()&&(m=await z({mode:"production",command:"build",isCLI:!1}));let a=N(m);e=t?t(a,{mode:"production",command:"build",isCLI:!1}):a,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}n("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let c=process.env.VITE_MULTI_PAGE_STRATEGY,s=U({entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",merge:e.merge||"all",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},forceBuildStrategy:c}),p=Object.keys(s)[0];if(p&&s[p]){n(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${p}`);let m=s[p],a=(0,ie.mergeConfig)(r,m);Object.assign(r,a),n(`\u5DF2\u5E94\u7528\u7B56\u7565 "${p}" \u7684\u914D\u7F6E:`,{build:!!m.build,define:!!m.define,plugins:((f=m.plugins)==null?void 0:f.length)||0})}else throw n("\u672A\u627E\u5230\u53EF\u7528\u7684\u6784\u5EFA\u7B56\u7565\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),new Error(`\u274C \u6784\u5EFA\u5931\u8D25: \u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565
105
105
 
106
106
  \u53EF\u80FD\u7684\u539F\u56E0\uFF1A
107
107
  1. \u914D\u7F6E\u6587\u4EF6\u8FD4\u56DE\u7A7A\u5BF9\u8C61 {}
@@ -116,5 +116,5 @@ export default () => ({
116
116
  strategies: {
117
117
  default: {}
118
118
  }
119
- });`)}},configureServer(n){if(n.config.command==="serve"){s("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let c=process.env.VITE_MULTI_PAGE_STRATEGY||"default";s(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${c}`),K(n,{entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},devStrategy:c},s)}},writeBundle(n){if(!(e!=null&&e.merge)||e.merge==="all")return;let c=n.dir||"dist",g=e.merge;s(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${g}`);try{oe(c,g,e,s)}catch(l){throw s("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",l),l}},buildEnd(){i.length>0&&(s(`\u6E05\u7406 ${i.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),i.forEach(n=>{try{y.existsSync(n)&&(y.unlinkSync(n),s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${n}`))}catch(c){s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${n}`,c)}}),i.length=0)}}}function ve(t,e,i,s){return oe(t,e,i,s)}var be=ae;0&&(module.exports={cleanViteOutputDirectory,defineConfig,defineConfigTransform,generateBuildConfig,getAvailableStrategies,getViteOutputDirectory,mergeWithDefaults,reorganizeAssetsInCLI,viteMultiPage});
119
+ });`)}},configureServer(r){if(r.config.command==="serve"){n("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let g=process.env.VITE_MULTI_PAGE_STRATEGY||"default";n(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${g}`),K(r,{entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},devStrategy:g},n)}},writeBundle(r){if(!(e!=null&&e.merge)||e.merge==="all")return;let g=r.dir||"dist",f=e.merge;n(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${f}`);try{oe(g,f,e,n)}catch(c){throw n("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",c),c}},buildEnd(){i.length>0&&(n(`\u6E05\u7406 ${i.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),i.forEach(r=>{try{d.existsSync(r)&&(d.unlinkSync(r),n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${r}`))}catch(g){n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${r}`,g)}}),i.length=0)}}}function be(t,e,i,n){return oe(t,e,i,n)}var Se=le;0&&(module.exports={cleanViteOutputDirectory,defineConfig,defineConfigTransform,generateBuildConfig,getAvailableStrategies,getViteOutputDirectory,mergeWithDefaults,reorganizeAssetsInCLI,viteMultiPage});
120
120
  //# sourceMappingURL=index.js.map