@fchc8/vite-plugin-multi-page 1.8.0 → 1.9.2

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
@@ -196,6 +196,21 @@ strategies: {
196
196
  }
197
197
  ```
198
198
 
199
+ ### Build Output Merge Strategy
200
+
201
+ Control how build outputs are organized using the `merge` option:
202
+
203
+ ```typescript
204
+ export default defineConfig({
205
+ // ... other configurations
206
+ merge: 'all' | 'strategy' | 'page',
207
+ });
208
+ ```
209
+
210
+ - **`all`** (default): All HTML files in root directory, assets merged into `/dist/assets/`
211
+ - **`strategy`**: Group by strategy, e.g., `/dist/mobile/page1.html`, `/dist/desktop/page1.html`
212
+ - **`page`**: Group by page, e.g., `/dist/homePage/index.html`, `/dist/aboutPage/index.html`
213
+
199
214
  ### Page Strategy Assignment
200
215
 
201
216
  Assign strategies to pages through the `pageConfigs` function:
package/README.md CHANGED
@@ -196,6 +196,21 @@ strategies: {
196
196
  }
197
197
  ```
198
198
 
199
+ ### 构建产物合并策略
200
+
201
+ 通过 `merge` 选项控制构建产物的组织方式:
202
+
203
+ ```typescript
204
+ export default defineConfig({
205
+ // ... 其他配置
206
+ merge: 'all' | 'strategy' | 'page',
207
+ });
208
+ ```
209
+
210
+ - **`all`** (默认): 所有HTML文件放在根目录,资源合并到 `/dist/assets/`
211
+ - **`strategy`**: 按策略分组,如 `/dist/mobile/page1.html`、`/dist/desktop/page1.html`
212
+ - **`page`**: 按页面分组,如 `/dist/homePage/index.html`、`/dist/aboutPage/index.html`
213
+
199
214
  ### 页面策略分配
200
215
 
201
216
  通过 `pageConfigs` 函数为页面分配策略:
package/dist/cli.js CHANGED
@@ -1,5 +1,123 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var ae=Object.create;var L=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(e&&(t=e(e=0)),t);var A=(e,t)=>{for(var s in t)L(e,s,{get:t[s],enumerable:!0})},z=(e,t,s,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of le(t))!fe.call(e,n)&&n!==s&&L(e,n,{get:()=>t[n],enumerable:!(o=ce(t,n))||o.enumerable});return e};var P=(e,t,s)=>(s=e!=null?ae(pe(e)):{},z(t||!e||!e.__esModule?L(s,"default",{value:e,enumerable:!0}):s,e)),ge=e=>z(L({},"__esModule",{value:!0}),e);var w=D(()=>{"use strict"});function G(e,t,s,o){let n=[],i=new Map,f=t.replace(/\/\*.*$/,"");(!f||f===t)&&(f=O.dirname(t.split("*")[0]));let a=[];for(let r of e){if(s.includes(r))continue;let u=r.replace(/\\/g,"/"),l=f.replace(/\\/g,"/"),p=O.posix.relative(l,u).split("/");if(p.length===1){let $=p[0],g=O.posix.basename($,O.posix.extname($));a.push({name:g,file:r,priority:1})}else if(p.length>=2){let $=O.posix.basename(u,O.posix.extname(u)),g=p[0];$==="main"&&a.push({name:g,file:r,priority:2})}}for(let r of a){let u=i.get(r.name);u?r.priority>u.priority&&i.set(r.name,{file:r.file,priority:r.priority}):i.set(r.name,{file:r.file,priority:r.priority})}for(let[r,{file:u}]of i.entries())n.push({name:r,file:u});return n}var O,J=D(()=>{"use strict";w();O=P(require("path"))});function k(e,t,s){if(!e)return null;if(typeof e=="function"){let o=e(t);return o}for(let[o,n]of Object.entries(e)){if(o===t.pageName)return s(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${t.pageName}:`,n),n;if(n.match&&(Array.isArray(n.match)?n.match:[n.match]).some(a=>I(a,t.pageName)||I(a,t.relativePath)||I(a,t.filePath)))return s(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${t.pageName} (\u6A21\u5F0F: ${n.match}):`,n),{...n,match:void 0};if(I(o,t.pageName))return s(`Glob\u5339\u914D\u9875\u9762 ${t.pageName} (\u6A21\u5F0F: ${o}):`,n),n}return null}function I(e,t){let s=e.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${s}$`).test(t)}var K=D(()=>{"use strict";w()});function B(e){return(...t)=>{e&&console.log("[vite-plugin-multi-page]",...t)}}var Q=D(()=>{"use strict";w()});var q={};A(q,{cleanViteOutputDirectory:()=>ue,generateBuildConfig:()=>me,getAvailableStrategies:()=>de,getViteOutputDirectory:()=>R});function me(e){var l;let{entry:t="src/pages/*/main.{ts,js}",exclude:s=[],template:o="index.html",placeholder:n="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:i={},pageConfigs:f={},forceBuildStrategy:a}=e,r=B(!0),u={};try{let d=Y.glob.sync(t,{cwd:process.cwd()}),p=G(d,t,s,r);if(p.length===0)return r("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let $=new Map,g=new Map;for(let c of p){let h={pageName:c.name,filePath:c.file,relativePath:C.relative(process.cwd(),c.file)},b=k(f,h,r),v=(b==null?void 0:b.strategy)||"default";$.set(c.name,v),g.has(v)||g.set(v,[]),(l=g.get(v))==null||l.push(c.name)}if(r(`\u{1F4C4} \u53D1\u73B0 ${p.length} \u4E2A\u9875\u9762: ${p.map(c=>c.name).join(", ")}`),a){let c=g.get(a)||[];if(c.length===0)return r(`\u8B66\u544A: \u7B56\u7565 "${a}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};r(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${a}, \u9875\u9762: ${c.join(", ")}`);let h=H(a,c,p,i[a],f,o,n,r);return u[a]=h,u}for(let[c,h]of g){if(h.length===0)continue;let b=i[c]||{},v=H(c,h,p,b,f,o,n,r);u[c]=v}if(Object.keys(u).length===0){r("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let c=p.map(b=>b.name),h=H("default",c,p,{},f,o,n,r);u.default=h}let x=Object.keys(u);return r(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${x.join(", ")}`),u}catch(d){throw r("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",d),d}}function H(e,t,s,o,n,i,f,a){let r={},u=[],l={};for(let $ of t){let g=s.find(M=>M.name===$);if(!g)continue;let x={pageName:$,filePath:g.file,relativePath:C.relative(process.cwd(),g.file),strategy:e},c=k(n,x,a);c!=null&&c.define&&Object.assign(l,c.define);let h=i,b=`${$}.html`;S.existsSync(C.resolve(process.cwd(),b))?h=b:c!=null&&c.template&&(h=c.template);let v=C.resolve(process.cwd(),h);if(!S.existsSync(v)){a(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${h}`);continue}let N=S.readFileSync(v,"utf-8");if(N.includes(f)){let M=`./${g.file}`;N=N.replace(new RegExp(f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),M)}let j=C.resolve(process.cwd(),`.temp.mp.${$}.html`);S.writeFileSync(j,N),u.push(j),r[$]=j}let d={build:{rollupOptions:{input:r,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},p=d;return o&&(p=(0,X.mergeConfig)(d,o)),Object.keys(l).length>0&&(p.define={...p.define,...l}),p.build||(p.build={}),p.build.rollupOptions||(p.build.rollupOptions={}),p.build.rollupOptions.input=r,p.build.emptyOutDir=!1,a(`\u7B56\u7565 "${e}" - ${t.length} \u4E2A\u9875\u9762`),p}function R(e=[]){let t=e.findIndex(o=>o==="--outDir");if(t!==-1&&t+1<e.length){let o=e[t+1];return C.resolve(process.cwd(),o)}let s=e.find(o=>o.startsWith("--outDir="));if(s){let o=s.split("=")[1];return C.resolve(process.cwd(),o)}return C.resolve(process.cwd(),"dist")}function ue(e=[]){let t=R(e),s=B(!0);try{S.existsSync(t)&&(S.rmSync(t,{recursive:!0,force:!0}),s(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${C.relative(process.cwd(),t)}`))}catch(o){s(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${t}`,o)}}function de(e){let{entry:t="src/pages/*/main.{ts,js}",exclude:s=[],pageConfigs:o={}}=e,n=B(!1),i=new Set,f=Y.glob.sync(t,{cwd:process.cwd()}),a=G(f,t,s,n);if(a.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${t}`);try{for(let r of a){let u={pageName:r.name,filePath:r.file,relativePath:C.relative(process.cwd(),r.file)},l=k(o,u,n),d=(l==null?void 0:l.strategy)||"default";i.add(d)}return Array.from(i).sort()}catch(r){return n("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",r),["default"]}}var X,Y,C,S,W=D(()=>{"use strict";w();X=require("vite"),Y=require("glob"),C=P(require("path")),S=P(require("fs"));J();K();Q()});var te={};A(te,{hasCustomConfig:()=>ye,loadUserConfig:()=>he});function ye(){for(let e of ee){let t=T.resolve(process.cwd(),e);if(_.existsSync(t))return!0}return!1}async function he(e){let t=await we();if(t){let s=t(e);return s||{}}return null}async function $e(e){if(e.endsWith(".ts"))try{let t=await _.promises.readFile(e,"utf-8"),o=await(await import("esbuild")).transform(t,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),n=new U.Module(e);return n.filename=e,n.paths=U.Module._nodeModulePaths(T.dirname(e)),n._compile(o.code,e),n.exports}catch(t){console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",t);let o=(await _.promises.readFile(e,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),n=new U.Module(e);return n.filename=e,n.paths=U.Module._nodeModulePaths(T.dirname(e)),n._compile(o,e),n.exports}if(e.endsWith(".js")||e.endsWith(".mjs"))return import(`${(0,Z.pathToFileURL)(e).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${e}`)}async function we(){let e=process.cwd();for(let t of ee){let s=T.resolve(e,t);if(_.existsSync(s))try{let o=await $e(s),n=o.default||o;if(typeof n=="function")return n;console.warn(`\u914D\u7F6E\u6587\u4EF6 ${t} \u5FC5\u987B\u9ED8\u8BA4\u5BFC\u51FA\u4E00\u4E2A\u51FD\u6570`)}catch(o){t.endsWith(".ts")?(console.error(`\u52A0\u8F7DTypeScript\u914D\u7F6E\u6587\u4EF6 ${t} \u5931\u8D25:`,o),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 ${t} \u5931\u8D25:`,o)}}return null}var _,T,Z,U,ee,se=D(()=>{"use strict";w();_=P(require("fs")),T=P(require("path")),Z=require("url"),U=require("module"),ee=["multipage.config.js","multipage.config.mjs","multipage.config.ts"]});var ne={};A(ne,{DEFAULT_CONFIG:()=>F,isEmptyConfig:()=>xe,mergeWithDefaults:()=>be});function be(e){return e?{entry:e.entry??F.entry,exclude:e.exclude??F.exclude,template:e.template??F.template,placeholder:e.placeholder??F.placeholder,debug:e.debug??F.debug,strategies:e.strategies??F.strategies,pageConfigs:e.pageConfigs??F.pageConfigs,__forceBuildStrategy:e.__forceBuildStrategy}:{...F}}function xe(e){if(Object.keys(e).length===0)return!0;let t=e.entry&&e.entry!==F.entry,s=e.strategies&&Object.keys(e.strategies).length>0,o=e.pageConfigs&&(typeof e.pageConfigs=="function"||Object.keys(e.pageConfigs).length>0);return!t&&!s&&!o}var F,oe=D(()=>{"use strict";w();F={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,strategies:{default:{}},pageConfigs:{}}});var De={};A(De,{buildAll:()=>ie});module.exports=ge(De);w();var re=require("child_process"),m=P(require("fs")),y=P(require("path")),V=P(require("glob"));W();function ve(){let e=process.argv.slice(2),t=[],s=!1,o,n;for(let i=0;i<e.length;i++){let f=e[i];f==="--debug"?s=!0:f==="--cwd"?o=e[++i]:f==="--strategy"?n=e[++i].split(",").map(r=>r.trim()):f==="--help"||f==="-h"?(console.log(`
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(`
3
+ \u274C \u65E0\u6CD5\u52A0\u8F7D TypeScript \u914D\u7F6E\u6587\u4EF6\uFF0C\u56E0\u4E3A\u627E\u4E0D\u5230 esbuild \u4F9D\u8D56\u3002`),console.error(`
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}
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`
10
+ <div class="page-item">
11
+ <a href="${n.name}.html" class="page-link">
12
+ ${n.name}${r}
13
+ </a>
14
+ <div class="page-path">${n.file}</div>
15
+ </div>`}).join("");return`
16
+ <!DOCTYPE html>
17
+ <html lang="en">
18
+ <head>
19
+ <meta charset="UTF-8">
20
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
21
+ <title>\u591A\u9875\u9762\u5E94\u7528\u7D22\u5F15</title>
22
+ <style>
23
+ body {
24
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
25
+ line-height: 1.6;
26
+ color: #333;
27
+ max-width: 1200px;
28
+ margin: 0 auto;
29
+ padding: 20px;
30
+ background-color: #f5f5f7;
31
+ }
32
+ h1 {
33
+ font-size: 24px;
34
+ margin-bottom: 20px;
35
+ color: #111;
36
+ }
37
+ .page-list {
38
+ display: grid;
39
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
40
+ gap: 16px;
41
+ }
42
+ .page-item {
43
+ background-color: white;
44
+ border-radius: 8px;
45
+ padding: 16px;
46
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1);
47
+ transition: transform 0.2s, box-shadow 0.2s;
48
+ }
49
+ .page-item:hover {
50
+ transform: translateY(-2px);
51
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
52
+ }
53
+ .page-link {
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: space-between;
57
+ font-size: 18px;
58
+ font-weight: 500;
59
+ color: #0066cc;
60
+ text-decoration: none;
61
+ margin-bottom: 8px;
62
+ }
63
+ .page-path {
64
+ font-size: 14px;
65
+ color: #666;
66
+ word-break: break-all;
67
+ }
68
+ .badge {
69
+ display: inline-block;
70
+ font-size: 12px;
71
+ padding: 2px 8px;
72
+ border-radius: 12px;
73
+ background-color: #e6f2ff;
74
+ color: #0066cc;
75
+ margin-left: 8px;
76
+ }
77
+ .stats {
78
+ margin-bottom: 20px;
79
+ font-size: 14px;
80
+ color: #666;
81
+ }
82
+ </style>
83
+ </head>
84
+ <body>
85
+ <h1>\u591A\u9875\u9762\u5E94\u7528\u7D22\u5F15</h1>
86
+ <div class="stats">
87
+ \u627E\u5230 ${t.length} \u4E2A\u9875\u9762
88
+ </div>
89
+ <div class="page-list">
90
+ ${s}
91
+ </div>
92
+ </body>
93
+ </html>
94
+ `}catch(s){return o(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${s}`),`
95
+ <!DOCTYPE html>
96
+ <html>
97
+ <head>
98
+ <title>\u9519\u8BEF</title>
99
+ </head>
100
+ <body>
101
+ <h1>\u751F\u6210\u7D22\u5F15\u9875\u65F6\u53D1\u751F\u9519\u8BEF</h1>
102
+ <p>${s}</p>
103
+ </body>
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
106
+
107
+ \u53EF\u80FD\u7684\u539F\u56E0\uFF1A
108
+ 1. \u914D\u7F6E\u6587\u4EF6\u8FD4\u56DE\u7A7A\u5BF9\u8C61 {}
109
+ 2. \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6
110
+ 3. \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728
111
+ 4. \u672A\u914D\u7F6E strategies \u5BF9\u8C61
112
+
113
+ \u6700\u5C0F\u914D\u7F6E\u793A\u4F8B\uFF1A
114
+ export default () => ({
115
+ entry: "src/pages/**/*.{ts,js}",
116
+ template: "index.html",
117
+ strategies: {
118
+ default: {}
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(`
3
121
  \u4F7F\u7528\u65B9\u6CD5: vite-mp [\u9009\u9879]
4
122
 
5
123
  \u9009\u9879:
@@ -17,8 +135,8 @@
17
135
  vite-mp --debug # \u542F\u7528\u8C03\u8BD5\u6A21\u5F0F
18
136
  vite-mp --cwd example # \u5728example\u76EE\u5F55\u8FD0\u884C
19
137
  vite-mp --mode production --debug # \u4F20\u9012\u989D\u5916\u53C2\u6570\u7ED9vite
20
- `),process.exit(0)):f!=="build"&&t.push(f)}return{viteBuildArgs:t,debug:s,cwd:o,strategies:n}}async function Ce(){let{loadUserConfig:e,hasCustomConfig:t}=await Promise.resolve().then(()=>(se(),te)),{mergeWithDefaults:s}=await Promise.resolve().then(()=>(oe(),ne)),o=null;return t()?o=await e({mode:"production",command:"build",isCLI:!0}):console.log("\u2139\uFE0F \u672A\u627E\u5230\u914D\u7F6E\u6587\u4EF6\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),s(o)}function Se(e,t,s){return new Promise(o=>{var u;let n=s?console.log.bind(console,`[${e}]`):()=>{};n(`\u5F00\u59CB\u6784\u5EFA\u7B56\u7565: ${e}`);let i={...process.env,VITE_MULTI_PAGE_STRATEGY:e},f=["build",...t];n(`\u6267\u884C\u547D\u4EE4: npx vite ${f.join(" ")}`);let a=(0,re.spawn)("npx",["vite",...f],{stdio:s?"inherit":"pipe",env:i,cwd:process.cwd()}),r="";s||(u=a.stderr)==null||u.on("data",l=>{r+=l.toString()}),a.on("close",l=>{let d=l===0,p=R(t);if(d){n(`\u2705 \u7B56\u7565 ${e} \u6784\u5EFA\u6210\u529F`);try{if(m.existsSync(p)){let $=m.readdirSync(p);for(let g of $)if(g.startsWith(".temp.mp.")&&g.endsWith(".html")){let x=y.resolve(p,g),h=`${g.replace(/^\.temp\.mp\./,"").replace(/\.html$/,"")}.html`,b=y.resolve(p,h);m.renameSync(x,b),n(`\u91CD\u547D\u540DHTML: ${g} -> ${h}`)}}}catch($){n("\u91CD\u547D\u540DHTML\u6587\u4EF6\u5931\u8D25:",$)}}else n(`\u274C \u7B56\u7565 ${e} \u6784\u5EFA\u5931\u8D25 (\u9000\u51FA\u7801: ${l})`),!s&&r&&console.error(`\u7B56\u7565 ${e} \u9519\u8BEF\u8F93\u51FA:`,r);o({strategy:e,success:d,error:d?void 0:r||`\u6784\u5EFA\u5931\u8D25\uFF0C\u9000\u51FA\u7801: ${l}`,outputDir:p})}),a.on("error",l=>{n(`\u274C \u7B56\u7565 ${e} \u6784\u5EFA\u51FA\u9519:`,l.message);let d=R(t);o({strategy:e,success:!1,error:l.message,outputDir:d})})})}async function Fe(e,t){let s=t?console.log.bind(console,"[merge]"):()=>{};s("\u5F00\u59CB\u5408\u5E76\u6784\u5EFA\u7ED3\u679C...");let o=y.resolve(process.cwd(),"dist"),n=y.resolve(o,"assets");m.existsSync(n)||m.mkdirSync(n,{recursive:!0});let i=[],f=[];for(let a of e){if(f.push({strategy:a.strategy,success:a.success,error:a.error}),!a.success)continue;let r=y.resolve(o,a.strategy);if(!m.existsSync(r)){s(`\u8B66\u544A: \u7B56\u7565\u76EE\u5F55\u4E0D\u5B58\u5728: ${r}`);continue}s(`\u5904\u7406\u7B56\u7565: ${a.strategy}`);let u=m.readdirSync(r,{withFileTypes:!0});for(let l of u){let d=y.resolve(r,l.name);if(l.isFile())if(l.name.endsWith(".html")){let p=y.resolve(o,l.name);m.copyFileSync(d,p),i.push(l.name),s(`\u590D\u5236HTML: ${l.name} -> dist/${l.name}`)}else{let p=y.resolve(o,l.name);m.copyFileSync(d,p),s(`\u590D\u5236\u6587\u4EF6: ${l.name} -> dist/${l.name}`)}else if(l.isDirectory()&&l.name==="assets"){let p=d,$=m.readdirSync(p,{withFileTypes:!0});for(let g of $){let x=y.resolve(p,g.name),c=y.resolve(n,g.name);if(g.isFile())if(m.existsSync(c)){let h=m.readFileSync(x),b=m.readFileSync(c);if(h.equals(b))s(`\u8DF3\u8FC7\u91CD\u590D\u8D44\u6E90: ${g.name}`);else{let v=y.extname(g.name),j=`${y.basename(g.name,v)}-${a.strategy}${v}`,M=y.resolve(n,j);m.copyFileSync(x,M),s(`\u590D\u5236\u8D44\u6E90(\u91CD\u547D\u540D): ${g.name} -> assets/${j}`)}}else m.copyFileSync(x,c),s(`\u590D\u5236\u8D44\u6E90: ${g.name} -> assets/${g.name}`);else if(g.isDirectory()){let h=y.resolve(n,g.name);m.existsSync(h)||m.mkdirSync(h,{recursive:!0}),m.cpSync(x,h,{recursive:!0}),s(`\u590D\u5236\u8D44\u6E90\u76EE\u5F55: ${g.name} -> assets/${g.name}`)}}}else if(l.isDirectory()){let p=y.resolve(o,l.name);m.cpSync(d,p,{recursive:!0}),s(`\u590D\u5236\u76EE\u5F55: ${l.name} -> dist/${l.name}`)}}}s("\u2705 \u6784\u5EFA\u7ED3\u679C\u5408\u5E76\u5B8C\u6210"),s(`\u{1F4C1} \u751F\u6210\u9875\u9762: ${i.join(", ")}`),s("\u{1F4E6} \u8D44\u6E90\u76EE\u5F55: dist/assets/"),s(`\u{1F527} \u5904\u7406\u7B56\u7565: ${e.filter(a=>a.success).map(a=>a.strategy).join(", ")}`)}async function Pe(e){let t=e?console.log.bind(console,"[cleanup]"):()=>{};t("\u6E05\u7406\u4E34\u65F6HTML\u6587\u4EF6...");let s=V.sync(".temp.mp.*.html",{cwd:process.cwd()});for(let o of s){let n=y.resolve(process.cwd(),o);try{m.unlinkSync(n),t(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${o}`)}catch(i){t(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${o}`,i)}}s.length===0?t("\u6CA1\u6709\u627E\u5230\u4E34\u65F6\u6587\u4EF6"):t(`\u2705 \u6E05\u7406\u4E86 ${s.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`)}async function Oe(e,t){let s=t?console.log.bind(console,"[cleanup]"):()=>{};s("\u6E05\u7406\u4E34\u65F6\u6587\u4EF6...");let o=V.sync(".temp.mp.*.html",{cwd:process.cwd()});for(let i of o){let f=y.resolve(process.cwd(),i);try{m.unlinkSync(f),s(`\u5220\u9664\u6839\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6: ${i}`)}catch(a){s(`\u5220\u9664\u6839\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${i}`,a)}}for(let i of e){let f=y.resolve(process.cwd(),"dist",i);if(m.existsSync(f)){let a=V.sync("*.mp.temp.html",{cwd:f});for(let r of a){let u=y.resolve(f,r);try{m.unlinkSync(u),s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6: ${i}/${r}`)}catch(l){s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${i}/${r}`,l)}}}}let n=y.resolve(process.cwd(),"dist");for(let i of e){let f=y.resolve(n,i);if(m.existsSync(f))try{m.rmSync(f,{recursive:!0,force:!0}),s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55: ${i}`)}catch(a){s(`\u5220\u9664\u7B56\u7565\u76EE\u5F55\u5931\u8D25: ${i}`,a)}}s("\u2705 \u6E05\u7406\u5B8C\u6210")}async function ie(){let{viteBuildArgs:e,debug:t,cwd:s,strategies:o}=ve(),n=t?console.log.bind(console,"[main]"):()=>{};if(s){let i=y.resolve(process.cwd(),s);m.existsSync(i)||(console.error(`\u274C \u6307\u5B9A\u7684\u76EE\u5F55\u4E0D\u5B58\u5728: ${i}`),process.exit(1)),process.chdir(i),n(`\u5207\u6362\u5DE5\u4F5C\u76EE\u5F55\u5230: ${i}`)}try{n("\u{1F680} \u5F00\u59CB\u591A\u7B56\u7565\u6784\u5EFA..."),n("\u{1F4CB} \u52A0\u8F7D\u914D\u7F6E...");let i=await Ce(),{getAvailableStrategies:f}=await Promise.resolve().then(()=>(W(),q)),a=f({entry:i.entry||"src/pages/*/main.{ts,js}",exclude:i.exclude||[],template:i.template||"index.html",placeholder:i.placeholder||"{{ENTRY_FILE}}",pageConfigs:i.pageConfigs||{},strategies:i.strategies||{}});if(a.length===0)throw new Error("\u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565");let r;if(o&&o.length>0){let c=o.filter(h=>!a.includes(h));if(c.length>0)throw new Error(`\u6307\u5B9A\u7684\u7B56\u7565\u4E0D\u5B58\u5728: ${c.join(", ")}
21
- \u53EF\u7528\u7B56\u7565: ${a.join(", ")}`);r=o,n(`\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${r.join(", ")}`)}else r=a,n(`\u6784\u5EFA\u6240\u6709\u53EF\u7528\u7B56\u7565: ${r.join(", ")}`);n("\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55...");let{cleanViteOutputDirectory:u}=await Promise.resolve().then(()=>(W(),q));u(e),n("\u{1F528} \u5F00\u59CB\u5E76\u884C\u6784\u5EFA...");let l=r.map(c=>Se(c,e,t)),d=await Promise.all(l),p=d.filter(c=>c.success).length,$=d.length-p;console.log(`
22
- \u{1F4CA} \u6784\u5EFA\u7ED3\u679C\u7EDF\u8BA1:`),console.log(`\u2705 \u6210\u529F: ${p}`),console.log(`\u274C \u5931\u8D25: ${$}`),$>0&&(console.log(`
23
- \u274C \u5931\u8D25\u7684\u7B56\u7565:`),d.filter(c=>!c.success).forEach(c=>{console.log(` - ${c.strategy}: ${c.error}`)}),await Pe(t),process.exit(1)),n("\u{1F4E6} \u5408\u5E76\u6784\u5EFA\u7ED3\u679C..."),await Fe(d,t),await Oe(r,t);let g=d.filter(c=>c.success),x=m.readdirSync(y.resolve(process.cwd(),"dist")).filter(c=>c.endsWith(".html"));console.log(`
24
- \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: ${x.join(", ")}`),console.log(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${g.map(c=>c.strategy).join(", ")}`)}catch(i){console.error("\u274C \u6784\u5EFA\u5931\u8D25:",i instanceof Error?i.message:i),process.exit(1)}}require.main===module&&ie().catch(e=>{console.error("\u274C \u672A\u5904\u7406\u7684\u9519\u8BEF:",e),process.exit(1)});0&&(module.exports={buildAll});
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});
package/dist/index.d.mts CHANGED
@@ -6,6 +6,7 @@ interface MultiPageOptions {
6
6
  template?: string;
7
7
  placeholder?: string;
8
8
  debug?: boolean;
9
+ merge?: 'all' | 'strategy' | 'page';
9
10
  strategies?: Record<string, ConfigStrategy>;
10
11
  pageConfigs?: Record<string, PageConfig> | PageConfigFunction;
11
12
  __forceBuildStrategy?: string;
@@ -16,6 +17,7 @@ interface BuildConfigOptions {
16
17
  exclude: string[];
17
18
  template: string;
18
19
  placeholder: string;
20
+ merge?: 'all' | 'strategy' | 'page';
19
21
  strategies?: Record<string, ConfigStrategy>;
20
22
  pageConfigs?: Record<string, PageConfig> | PageConfigFunction;
21
23
  forceBuildStrategy?: string;
@@ -73,5 +75,9 @@ declare function getAvailableStrategies(options: BuildConfigOptions): string[];
73
75
  declare function mergeWithDefaults(userConfig: MultiPageOptions | null | undefined): MultiPageOptions;
74
76
 
75
77
  declare function viteMultiPage(transform?: ConfigTransformFunction): Plugin;
78
+ /**
79
+ * CLI工具专用的资源重组函数
80
+ */
81
+ declare function reorganizeAssetsInCLI(distDir: string, mode: 'strategy' | 'page', options: Options, log: (...args: any[]) => void): void;
76
82
 
77
- export { type ConfigFunction, type ConfigTransformFunction, type Options, type PageConfig, type PageContext, type PluginContext, cleanViteOutputDirectory, viteMultiPage as default, defineConfig, defineConfigTransform, generateBuildConfig, getAvailableStrategies, getViteOutputDirectory, mergeWithDefaults, viteMultiPage };
83
+ export { type ConfigFunction, type ConfigTransformFunction, type Options, type PageConfig, type PageContext, type PluginContext, cleanViteOutputDirectory, viteMultiPage as default, defineConfig, defineConfigTransform, generateBuildConfig, getAvailableStrategies, getViteOutputDirectory, mergeWithDefaults, reorganizeAssetsInCLI, viteMultiPage };
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ interface MultiPageOptions {
6
6
  template?: string;
7
7
  placeholder?: string;
8
8
  debug?: boolean;
9
+ merge?: 'all' | 'strategy' | 'page';
9
10
  strategies?: Record<string, ConfigStrategy>;
10
11
  pageConfigs?: Record<string, PageConfig> | PageConfigFunction;
11
12
  __forceBuildStrategy?: string;
@@ -16,6 +17,7 @@ interface BuildConfigOptions {
16
17
  exclude: string[];
17
18
  template: string;
18
19
  placeholder: string;
20
+ merge?: 'all' | 'strategy' | 'page';
19
21
  strategies?: Record<string, ConfigStrategy>;
20
22
  pageConfigs?: Record<string, PageConfig> | PageConfigFunction;
21
23
  forceBuildStrategy?: string;
@@ -73,5 +75,9 @@ declare function getAvailableStrategies(options: BuildConfigOptions): string[];
73
75
  declare function mergeWithDefaults(userConfig: MultiPageOptions | null | undefined): MultiPageOptions;
74
76
 
75
77
  declare function viteMultiPage(transform?: ConfigTransformFunction): Plugin;
78
+ /**
79
+ * CLI工具专用的资源重组函数
80
+ */
81
+ declare function reorganizeAssetsInCLI(distDir: string, mode: 'strategy' | 'page', options: Options, log: (...args: any[]) => void): void;
76
82
 
77
- export { type ConfigFunction, type ConfigTransformFunction, type Options, type PageConfig, type PageContext, type PluginContext, cleanViteOutputDirectory, viteMultiPage as default, defineConfig, defineConfigTransform, generateBuildConfig, getAvailableStrategies, getViteOutputDirectory, mergeWithDefaults, viteMultiPage };
83
+ export { type ConfigFunction, type ConfigTransformFunction, type Options, type PageConfig, type PageContext, type PluginContext, cleanViteOutputDirectory, viteMultiPage as default, defineConfig, defineConfigTransform, generateBuildConfig, getAvailableStrategies, getViteOutputDirectory, mergeWithDefaults, reorganizeAssetsInCLI, viteMultiPage };
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- "use strict";var oe=Object.create;var R=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var ge=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var pe=(t,e)=>{for(var s in e)R(t,s,{get:e[s],enumerable:!0})},z=(t,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of le(e))!ce.call(t,n)&&n!==s&&R(t,n,{get:()=>e[n],enumerable:!(i=ae(e,n))||i.enumerable});return t};var P=(t,e,s)=>(s=t!=null?oe(ge(t)):{},z(e||!t||!t.__esModule?R(s,"default",{value:t,enumerable:!0}):s,t)),fe=t=>z(R({},"__esModule",{value:!0}),t);var Ce={};pe(Ce,{cleanViteOutputDirectory:()=>X,default:()=>xe,defineConfig:()=>ne,defineConfigTransform:()=>re,generateBuildConfig:()=>U,getAvailableStrategies:()=>Z,getViteOutputDirectory:()=>Y,mergeWithDefaults:()=>M,viteMultiPage:()=>se});module.exports=fe(Ce);var L=P(require("fs")),ie=require("vite");var C=P(require("path")),_=P(require("fs")),J=require("glob");var S=P(require("path"));function T(t,e,s,i){let n=[],a=new Map,g=e.replace(/\/\*.*$/,"");(!g||g===e)&&(g=S.dirname(e.split("*")[0]));let l=[];for(let r of t){if(s.includes(r))continue;let o=r.replace(/\\/g,"/"),c=g.replace(/\\/g,"/"),p=S.posix.relative(c,o).split("/");if(p.length===1){let m=p[0],u=S.posix.basename(m,S.posix.extname(m));l.push({name:u,file:r,priority:1})}else if(p.length>=2){let m=S.posix.basename(o,S.posix.extname(o)),u=p[0];m==="main"&&l.push({name:u,file:r,priority:2})}}for(let r of l){let o=a.get(r.name);o?r.priority>o.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:o}]of a.entries())n.push({name:r,file:o});return n}function q(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}function O(t,e,s){if(!t)return null;if(typeof t=="function"){let i=t(e);return i}for(let[i,n]of Object.entries(t)){if(i===e.pageName)return s(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,n),n;if(n.match&&(Array.isArray(n.match)?n.match:[n.match]).some(l=>N(l,e.pageName)||N(l,e.relativePath)||N(l,e.filePath)))return s(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n.match}):`,n),{...n,match:void 0};if(N(i,e.pageName))return s(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${i}):`,n),n}return null}function N(t,e){let s=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${s}$`).test(e)}function de(t,e,s){try{let i=J.glob.sync(e.entry,{cwd:process.cwd()}),n=T(i,e.entry,e.exclude,s);if(n.length===0){s("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let a=e.devStrategy||t.config.__cliStrategy||t.config.strategy;a&&(s(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${a}`),n=n.filter(g=>{let l={pageName:g.name,filePath:g.file,relativePath:C.relative(process.cwd(),g.file),strategy:void 0,isMatched:!1},r=O(e.pageConfigs,l,s),o=(r==null?void 0:r.strategy)||"default";return a==="default"?o==="default":o===a}),s(`\u7B56\u7565 "${a}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${n.map(g=>g.name).join(", ")||"\u65E0"}`)),s("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",n),t.middlewares.use(async(g,l,r)=>{try{let c=(g.url||"").split("?")[0];if(c==="/"){let m=ue(n,e,s);l.statusCode=200,l.setHeader("Content-Type","text/html"),l.end(m);return}if(c.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot)$/)&&!c.endsWith(".html"))return r();let f="";if(c.endsWith(".html")?f=C.basename(c,".html"):c.startsWith("/")&&(f=c.substring(1)),!f)return r();let p=n.find(m=>m.name===f);return p?me(l,p,e,s):r()}catch(o){s(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${o}`),r(o)}}),s("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(i){throw s(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${i}`),i}}function me(t,e,s,i){var c;let n={pageName:e.name,filePath:e.file,relativePath:C.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},a=O(s.pageConfigs,n,i);if(a!=null&&a.strategy)n.strategy=a.strategy;else if((c=s.appliedStrategies)!=null&&c.has(e.name)){let f=s.appliedStrategies.get(e.name);f&&(n.strategy=f)}let g="",l=C.resolve(process.cwd(),`${e.name}.html`);if(_.existsSync(l)?g=l:a!=null&&a.template?g=C.resolve(process.cwd(),a.template):g=C.resolve(process.cwd(),s.template),!_.existsSync(g)){t.statusCode=404,t.end("Template not found");return}let r=_.readFileSync(g,"utf-8");if(r.includes(s.placeholder)){let f=r;if(r=r.split(s.placeholder).join(`/${e.file}`),r===f){let p=q(s.placeholder),m=new RegExp(p,"g");r=f.replace(m,`/${e.file}`),r===f&&(r=f.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(a!=null&&a.define){let f=Object.entries(a.define).map(([p,m])=>{let u=typeof m=="string"?`"${m}"`:JSON.stringify(m);return`window.${p} = ${u};`}).join(`
2
- `);f&&(r=r.replace(/<\/head>/i,`<script type="text/javascript">
3
- ${f}
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}
4
4
  </script>
5
- </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(r)}var Q=de;function ue(t,e,s){try{let i=t.map(n=>{var o;let a={pageName:n.name,filePath:n.file,relativePath:C.relative(process.cwd(),n.file),strategy:void 0,isMatched:!1},g=O(e.pageConfigs,a,s),l="default";if(g!=null&&g.strategy)l=g.strategy;else if((o=e.appliedStrategies)!=null&&o.has(n.name)){let c=e.appliedStrategies.get(n.name);c&&(l=c)}let r=l!=="default"?`<span class="badge">${l}</span>`:"";return`
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`
6
6
  <div class="page-item">
7
7
  <a href="${n.name}.html" class="page-link">
8
8
  ${n.name}${r}
@@ -83,11 +83,11 @@ ${f}
83
83
  \u627E\u5230 ${t.length} \u4E2A\u9875\u9762
84
84
  </div>
85
85
  <div class="page-list">
86
- ${i}
86
+ ${s}
87
87
  </div>
88
88
  </body>
89
89
  </html>
90
- `}catch(i){return s(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${i}`),`
90
+ `}catch(s){return i(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${s}`),`
91
91
  <!DOCTYPE html>
92
92
  <html>
93
93
  <head>
@@ -95,10 +95,13 @@ ${f}
95
95
  </head>
96
96
  <body>
97
97
  <h1>\u751F\u6210\u7D22\u5F15\u9875\u65F6\u53D1\u751F\u9519\u8BEF</h1>
98
- <p>${i}</p>
98
+ <p>${s}</p>
99
99
  </body>
100
100
  </html>
101
- `}}var K=require("vite"),G=require("glob"),h=P(require("path")),b=P(require("fs"));function U(t){var c;let{entry:e="src/pages/*/main.{ts,js}",exclude:s=[],template:i="index.html",placeholder:n="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:a={},pageConfigs:g={},forceBuildStrategy:l}=t,r=D(!0),o={};try{let f=G.glob.sync(e,{cwd:process.cwd()}),p=T(f,e,s,r);if(p.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 p){let y={pageName:d.name,filePath:d.file,relativePath:h.relative(process.cwd(),d.file)},x=O(g,y,r),v=(x==null?void 0:x.strategy)||"default";m.set(d.name,v),u.has(v)||u.set(v,[]),(c=u.get(v))==null||c.push(d.name)}if(r(`\u{1F4C4} \u53D1\u73B0 ${p.length} \u4E2A\u9875\u9762: ${p.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 y=B(l,d,p,a[l],g,i,n,r);return o[l]=y,o}for(let[d,y]of u){if(y.length===0)continue;let x=a[d]||{},v=B(d,y,p,x,g,i,n,r);o[d]=v}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=p.map(x=>x.name),y=B("default",d,p,{},g,i,n,r);o.default=y}let A=Object.keys(o);return r(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${A.join(", ")}`),o}catch(f){throw r("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",f),f}}function B(t,e,s,i,n,a,g,l){let r={},o=[],c={};for(let m of e){let u=s.find(V=>V.name===m);if(!u)continue;let A={pageName:m,filePath:u.file,relativePath:h.relative(process.cwd(),u.file),strategy:t},d=O(n,A,l);d!=null&&d.define&&Object.assign(c,d.define);let y=a,x=`${m}.html`;b.existsSync(h.resolve(process.cwd(),x))?y=x:d!=null&&d.template&&(y=d.template);let v=h.resolve(process.cwd(),y);if(!b.existsSync(v)){l(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${y}`);continue}let I=b.readFileSync(v,"utf-8");if(I.includes(g)){let V=`./${u.file}`;I=I.replace(new RegExp(g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),V)}let k=h.resolve(process.cwd(),`.temp.mp.${m}.html`);b.writeFileSync(k,I),o.push(k),r[m]=k}let f={build:{rollupOptions:{input:r,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},p=f;return i&&(p=(0,K.mergeConfig)(f,i)),Object.keys(c).length>0&&(p.define={...p.define,...c}),p.build||(p.build={}),p.build.rollupOptions||(p.build.rollupOptions={}),p.build.rollupOptions.input=r,p.build.emptyOutDir=!1,l(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),p}function Y(t=[]){let e=t.findIndex(i=>i==="--outDir");if(e!==-1&&e+1<t.length){let i=t[e+1];return h.resolve(process.cwd(),i)}let s=t.find(i=>i.startsWith("--outDir="));if(s){let i=s.split("=")[1];return h.resolve(process.cwd(),i)}return h.resolve(process.cwd(),"dist")}function X(t=[]){let e=Y(t),s=D(!0);try{b.existsSync(e)&&(b.rmSync(e,{recursive:!0,force:!0}),s(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${h.relative(process.cwd(),e)}`))}catch(i){s(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,i)}}function Z(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:s=[],pageConfigs:i={}}=t,n=D(!1),a=new Set,g=G.glob.sync(e,{cwd:process.cwd()}),l=T(g,e,s,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:h.relative(process.cwd(),r.file)},c=O(i,o,n),f=(c==null?void 0:c.strategy)||"default";a.add(f)}return Array.from(a).sort()}catch(r){return n("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",r),["default"]}}var F=P(require("fs")),E=P(require("path")),ee=require("url"),j=require("module"),te=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function W(){for(let t of te){let e=E.resolve(process.cwd(),t);if(F.existsSync(e))return!0}return!1}async function H(t){let e=await he();if(e){let s=e(t);return s||{}}return null}async function ye(t){if(t.endsWith(".ts"))try{let e=await F.promises.readFile(t,"utf-8"),i=await(await import("esbuild")).transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),n=new j.Module(t);return n.filename=t,n.paths=j.Module._nodeModulePaths(E.dirname(t)),n._compile(i.code,t),n.exports}catch(e){console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let i=(await F.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),n=new j.Module(t);return n.filename=t,n.paths=j.Module._nodeModulePaths(E.dirname(t)),n._compile(i,t),n.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${(0,ee.pathToFileURL)(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function he(){let t=process.cwd();for(let e of te){let s=E.resolve(t,e);if(F.existsSync(s))try{let i=await ye(s),n=i.default||i;if(typeof n=="function")return n;console.warn(`\u914D\u7F6E\u6587\u4EF6 ${e} \u5FC5\u987B\u9ED8\u8BA4\u5BFC\u51FA\u4E00\u4E2A\u51FD\u6570`)}catch(i){e.endsWith(".ts")?(console.error(`\u52A0\u8F7DTypeScript\u914D\u7F6E\u6587\u4EF6 ${e} \u5931\u8D25:`,i),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:`,i)}}return null}var $={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,strategies:{default:{}},pageConfigs:{}};function M(t){return t?{entry:t.entry??$.entry,exclude:t.exclude??$.exclude,template:t.template??$.template,placeholder:t.placeholder??$.placeholder,debug:t.debug??$.debug,strategies:t.strategies??$.strategies,pageConfigs:t.pageConfigs??$.pageConfigs,__forceBuildStrategy:t.__forceBuildStrategy}:{...$}}function ne(t){return typeof t=="function"?t:()=>t}function re(t){return t}function se(t){let e,s=[],i=()=>{};return{name:"vite-multi-page",async configResolved(n){let a=null;W()&&(a=await H({mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}));let g=M(a);e=t?t(g,{mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}):g,i=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},i("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(n,{command:a}){var g;if(a==="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(c=>c==="--strategy");if(o!==-1&&o+1<l.length){let c=l[o+1];process.env.VITE_MULTI_PAGE_STRATEGY=c}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(a==="build"){if(!e){let c=null;W()&&(c=await H({mode:"production",command:"build",isCLI:!1}));let f=M(c);e=t?t(f,{mode:"production",command:"build",isCLI:!1}):f,i=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}i("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let l=process.env.VITE_MULTI_PAGE_STRATEGY,r=U({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||{},forceBuildStrategy:l}),o=Object.keys(r)[0];if(o&&r[o]){i(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${o}`);let c=r[o],f=(0,ie.mergeConfig)(n,c);Object.assign(n,f),i(`\u5DF2\u5E94\u7528\u7B56\u7565 "${o}" \u7684\u914D\u7F6E:`,{build:!!c.build,define:!!c.define,plugins:((g=c.plugins)==null?void 0:g.length)||0})}else throw i("\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
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(`
102
+ \u274C \u65E0\u6CD5\u52A0\u8F7D TypeScript \u914D\u7F6E\u6587\u4EF6\uFF0C\u56E0\u4E3A\u627E\u4E0D\u5230 esbuild \u4F9D\u8D56\u3002`),console.error(`
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
102
105
 
103
106
  \u53EF\u80FD\u7684\u539F\u56E0\uFF1A
104
107
  1. \u914D\u7F6E\u6587\u4EF6\u8FD4\u56DE\u7A7A\u5BF9\u8C61 {}
@@ -113,5 +116,5 @@ export default () => ({
113
116
  strategies: {
114
117
  default: {}
115
118
  }
116
- });`)}},configureServer(n){if(n.config.command==="serve"){i("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let a=process.env.VITE_MULTI_PAGE_STRATEGY||"default";i(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${a}`),Q(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},i)}},buildEnd(){s.length>0&&(i(`\u6E05\u7406 ${s.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),s.forEach(n=>{try{L.existsSync(n)&&(L.unlinkSync(n),i(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${n}`))}catch(a){i(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${n}`,a)}}),s.length=0)}}}var xe=se;0&&(module.exports={cleanViteOutputDirectory,defineConfig,defineConfigTransform,generateBuildConfig,getAvailableStrategies,getViteOutputDirectory,mergeWithDefaults,viteMultiPage});
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});
117
120
  //# sourceMappingURL=index.js.map