@fchc8/vite-plugin-multi-page 1.9.4 → 1.10.0

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/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ interface MultiPageOptions {
6
6
  template?: string;
7
7
  placeholder?: string;
8
8
  debug?: boolean;
9
- merge?: 'all' | 'strategy' | 'page';
9
+ merge?: 'all' | 'page';
10
10
  strategies?: Record<string, ConfigStrategy>;
11
11
  pageConfigs?: Record<string, PageConfig> | PageConfigFunction;
12
12
  __forceBuildStrategy?: string;
@@ -17,10 +17,11 @@ interface BuildConfigOptions {
17
17
  exclude: string[];
18
18
  template: string;
19
19
  placeholder: string;
20
- merge?: 'all' | 'strategy' | 'page';
20
+ merge?: 'all' | 'page';
21
21
  strategies?: Record<string, ConfigStrategy>;
22
22
  pageConfigs?: Record<string, PageConfig> | PageConfigFunction;
23
23
  forceBuildStrategy?: string;
24
+ forceBuildPage?: string;
24
25
  }
25
26
  interface ConfigStrategy extends Omit<UserConfig, 'plugins'> {
26
27
  }
@@ -64,9 +65,6 @@ declare function getViteOutputDirectory(viteBuildArgs?: string[]): string;
64
65
  * 清理Vite配置的输出目录
65
66
  */
66
67
  declare function cleanViteOutputDirectory(viteBuildArgs?: string[]): void;
67
- /**
68
- * 获取所有可用的构建策略
69
- */
70
68
  declare function getAvailableStrategies(options: BuildConfigOptions): string[];
71
69
 
72
70
  /**
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- "use strict";var ce=Object.create;var L=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames;var ge=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var ue=(t,e)=>{for(var a in e)L(t,a,{get:e[a],enumerable:!0})},q=(t,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of pe(e))!de.call(t,n)&&n!==a&&L(t,n,{get:()=>e[n],enumerable:!(s=fe(e,n))||s.enumerable});return t};var P=(t,e,a)=>(a=t!=null?ce(ge(t)):{},q(e||!t||!t.__esModule?L(a,"default",{value:t,enumerable:!0}):a,t)),me=t=>q(L({},"__esModule",{value:!0}),t);var $e={};ue($e,{cleanViteOutputDirectory:()=>Z,default:()=>Se,defineConfig:()=>ne,defineConfigTransform:()=>re,generateBuildConfig:()=>V,getAvailableStrategies:()=>ee,getViteOutputDirectory:()=>H,mergeWithDefaults:()=>D,reorganizeAssetsInCLI:()=>be,viteMultiPage:()=>le});module.exports=me($e);var m=P(require("fs")),x=P(require("path")),ie=require("vite");var w=P(require("path")),I=P(require("fs")),Q=require("glob");var O=P(require("path"));function R(t,e,a,s){let n=[],g=new Map,u=e.replace(/\/\*.*$/,"");(!u||u===e)&&(u=O.dirname(e.split("*")[0]));let p=[];for(let i of t){if(a.includes(i))continue;let d=i.replace(/\\/g,"/"),y=u.replace(/\\/g,"/"),l=O.posix.relative(y,d).split("/");if(l.length===1){let r=l[0],f=O.posix.basename(r,O.posix.extname(r));p.push({name:f,file:i,priority:1})}else if(l.length>=2){let r=O.posix.basename(d,O.posix.extname(d)),f=l[0];r==="main"&&p.push({name:f,file:i,priority:2})}}for(let i of p){let d=g.get(i.name);d?i.priority>d.priority&&g.set(i.name,{file:i.file,priority:i.priority}):g.set(i.name,{file:i.file,priority:i.priority})}for(let[i,{file:d}]of g.entries())n.push({name:i,file:d});return n}function J(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function A(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}function _(t,e,a){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 a(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,n),n;if(n.match&&(Array.isArray(n.match)?n.match:[n.match]).some(p=>U(p,e.pageName)||U(p,e.relativePath)||U(p,e.filePath)))return a(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n.match}):`,n),{...n,match:void 0};if(U(s,e.pageName))return a(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${s}):`,n),n}return null}function U(t,e){let a=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${a}$`).test(e)}function ye(t,e,a){try{let s=Q.glob.sync(e.entry,{cwd:process.cwd()}),n=R(s,e.entry,e.exclude,a);if(n.length===0){a("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let g=e.devStrategy||t.config.__cliStrategy||t.config.strategy;g&&(a(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${g}`),n=n.filter(u=>{let p={pageName:u.name,filePath:u.file,relativePath:w.relative(process.cwd(),u.file),strategy:void 0,isMatched:!1},i=_(e.pageConfigs,p,a),d=(i==null?void 0:i.strategy)||"default";return g==="default"?d==="default":d===g}),a(`\u7B56\u7565 "${g}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${n.map(u=>u.name).join(", ")||"\u65E0"}`)),a("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",n),t.middlewares.use(async(u,p,i)=>{try{let y=(u.url||"").split("?")[0];if(y==="/"){let r=xe(n,e,a);p.statusCode=200,p.setHeader("Content-Type","text/html"),p.end(r);return}if(y.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!y.endsWith(".html")||y.startsWith("/@")||y.includes("__vite")||y.startsWith("/node_modules"))return i();let o="";if(y.endsWith(".html"))o=w.basename(y,".html");else if(y.startsWith("/")){let r=y.substring(1);if(n.find(f=>f.name===r))o=r;else{let f=r.split("/");if(f.length>1){let C=f[0];n.find(c=>c.name===C)&&(o=C,a(`History \u8DEF\u7531\u5339\u914D: ${y} -> ${C}`))}}}if(!o)return i();let l=n.find(r=>r.name===o);return l?he(p,l,e,a):i()}catch(d){a(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${d}`),i(d)}}),a("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(s){throw a(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${s}`),s}}function he(t,e,a,s){var y;let n={pageName:e.name,filePath:e.file,relativePath:w.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},g=_(a.pageConfigs,n,s);if(g!=null&&g.strategy)n.strategy=g.strategy;else if((y=a.appliedStrategies)!=null&&y.has(e.name)){let o=a.appliedStrategies.get(e.name);o&&(n.strategy=o)}let u="",p=w.resolve(process.cwd(),`${e.name}.html`);if(I.existsSync(p)?u=p:g!=null&&g.template?u=w.resolve(process.cwd(),g.template):u=w.resolve(process.cwd(),a.template),!I.existsSync(u)){t.statusCode=404,t.end("Template not found");return}let i=I.readFileSync(u,"utf-8");if(i.includes(a.placeholder)){let o=i;if(i=i.split(a.placeholder).join(`/${e.file}`),i===o){let l=J(a.placeholder),r=new RegExp(l,"g");i=o.replace(r,`/${e.file}`),i===o&&(i=o.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(g!=null&&g.define){let o=Object.entries(g.define).map(([l,r])=>{let f=typeof r=="string"?`"${r}"`:JSON.stringify(r);return`window.${l} = ${f};`}).join(`
2
- `);o&&(i=i.replace(/<\/head>/i,`<script type="text/javascript">
3
- ${o}
1
+ "use strict";var le=Object.create;var U=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var de=(t,e)=>{for(var i in e)U(t,i,{get:e[i],enumerable:!0})},J=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of fe(e))!ue.call(t,r)&&r!==i&&U(t,r,{get:()=>e[r],enumerable:!(n=ge(e,r))||n.enumerable});return t};var $=(t,e,i)=>(i=t!=null?le(pe(t)):{},J(e||!t||!t.__esModule?U(i,"default",{value:t,enumerable:!0}):i,t)),me=t=>J(U({},"__esModule",{value:!0}),t);var Pe={};de(Pe,{cleanViteOutputDirectory:()=>ee,default:()=>Se,defineConfig:()=>se,defineConfigTransform:()=>ie,generateBuildConfig:()=>N,getAvailableStrategies:()=>te,getViteOutputDirectory:()=>Y,mergeWithDefaults:()=>D,reorganizeAssetsInCLI:()=>be,viteMultiPage:()=>ce});module.exports=me(Pe);var d=$(require("fs")),h=$(require("path")),q=require("vite");var w=$(require("path")),L=$(require("fs")),K=require("glob");var O=$(require("path"));function R(t,e,i,n){let r=[],f=new Map,u=e.replace(/\/\*.*$/,"");(!u||u===e)&&(u=O.dirname(e.split("*")[0]));let l=[];for(let o of t){if(i.includes(o))continue;let g=o.replace(/\\/g,"/"),p=u.replace(/\\/g,"/"),c=O.posix.relative(p,g).split("/");if(c.length===1){let a=c[0],m=O.posix.basename(a,O.posix.extname(a));l.push({name:m,file:o,priority:1})}else if(c.length>=2){let a=O.posix.basename(g,O.posix.extname(g)),m=c[0];a==="main"&&l.push({name:m,file:o,priority:2})}}for(let o of l){let g=f.get(o.name);g?o.priority>g.priority&&f.set(o.name,{file:o.file,priority:o.priority}):f.set(o.name,{file:o.file,priority:o.priority})}for(let[o,{file:g}]of f.entries())r.push({name:o,file:g});return r}function Q(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(l=>B(l,e.pageName)||B(l,e.relativePath)||B(l,e.filePath)))return i(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${r.match}):`,r),{...r,match:void 0};if(B(n,e.pageName))return i(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n}):`,r),r}return null}function B(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=K.glob.sync(e.entry,{cwd:process.cwd()}),r=R(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 f=e.devStrategy||t.config.__cliStrategy||t.config.strategy;f&&(i(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${f}`),r=r.filter(u=>{let l={pageName:u.name,filePath:u.file,relativePath:w.relative(process.cwd(),u.file),strategy:void 0,isMatched:!1},o=_(e.pageConfigs,l,i),g=(o==null?void 0:o.strategy)||"default";return f==="default"?g==="default":g===f}),i(`\u7B56\u7565 "${f}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${r.map(u=>u.name).join(", ")||"\u65E0"}`)),i("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",r),t.middlewares.use(async(u,l,o)=>{try{let p=(u.url||"").split("?")[0];if(p==="/"){let a=xe(r,e,i);l.statusCode=200,l.setHeader("Content-Type","text/html"),l.end(a);return}if(p.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!p.endsWith(".html")||p.startsWith("/@")||p.includes("__vite")||p.startsWith("/node_modules"))return o();let s="";if(p.endsWith(".html"))s=w.basename(p,".html");else if(p.startsWith("/")){let a=p.substring(1);if(r.find(m=>m.name===a))s=a;else{let m=a.split("/");if(m.length>1){let C=m[0];r.find(x=>x.name===C)&&(s=C,i(`History \u8DEF\u7531\u5339\u914D: ${p} -> ${C}`))}}}if(!s)return o();let c=r.find(a=>a.name===s);return c?he(l,c,e,i):o()}catch(g){i(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${g}`),o(g)}}),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 p;let r={pageName:e.name,filePath:e.file,relativePath:w.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},f=_(i.pageConfigs,r,n);if(f!=null&&f.strategy)r.strategy=f.strategy;else if((p=i.appliedStrategies)!=null&&p.has(e.name)){let s=i.appliedStrategies.get(e.name);s&&(r.strategy=s)}let u="",l=w.resolve(process.cwd(),`${e.name}.html`);if(L.existsSync(l)?u=l:f!=null&&f.template?u=w.resolve(process.cwd(),f.template):u=w.resolve(process.cwd(),i.template),!L.existsSync(u)){t.statusCode=404,t.end("Template not found");return}let o=L.readFileSync(u,"utf-8");if(o.includes(i.placeholder)){let s=o;if(o=o.split(i.placeholder).join(`/${e.file}`),o===s){let c=Q(i.placeholder),a=new RegExp(c,"g");o=s.replace(a,`/${e.file}`),o===s&&(o=s.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(f!=null&&f.define){let s=Object.entries(f.define).map(([c,a])=>{let m=typeof a=="string"?`"${a}"`:JSON.stringify(a);return`window.${c} = ${m};`}).join(`
2
+ `);s&&(o=o.replace(/<\/head>/i,`<script type="text/javascript">
3
+ ${s}
4
4
  </script>
5
- </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(i)}var K=ye;function xe(t,e,a){try{let s=t.map(n=>{var d;let g={pageName:n.name,filePath:n.file,relativePath:w.relative(process.cwd(),n.file),strategy:void 0,isMatched:!1},u=_(e.pageConfigs,g,a),p="default";if(u!=null&&u.strategy)p=u.strategy;else if((d=e.appliedStrategies)!=null&&d.has(n.name)){let y=e.appliedStrategies.get(n.name);y&&(p=y)}let i=p!=="default"?`<span class="badge">${p}</span>`:"";return`
5
+ </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(o)}var X=ye;function xe(t,e,i){try{let n=t.map(r=>{var g;let f={pageName:r.name,filePath:r.file,relativePath:w.relative(process.cwd(),r.file),strategy:void 0,isMatched:!1},u=_(e.pageConfigs,f,i),l="default";if(u!=null&&u.strategy)l=u.strategy;else if((g=e.appliedStrategies)!=null&&g.has(r.name)){let p=e.appliedStrategies.get(r.name);p&&(l=p)}let o=l!=="default"?`<span class="badge">${l}</span>`:"";return`
6
6
  <div class="page-item">
7
- <a href="${n.name}.html" class="page-link">
8
- ${n.name}${i}
7
+ <a href="${r.name}.html" class="page-link">
8
+ ${r.name}${o}
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 @@ ${o}
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 a(`\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 @@ ${o}
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"),$=P(require("path")),E=P(require("fs"));function V(t){var y;let{entry:e="src/pages/*/main.{ts,js}",exclude:a=[],template:s="index.html",placeholder:n="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:g={},pageConfigs:u={},forceBuildStrategy:p}=t,i=A(!0),d={};try{let o=G.glob.sync(e,{cwd:process.cwd()}),l=R(o,e,a,i);if(l.length===0)return i("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let r=new Map,f=new Map;for(let c of l){let h={pageName:c.name,filePath:c.file,relativePath:$.relative(process.cwd(),c.file)},v=_(u,h,i),b=(v==null?void 0:v.strategy)||"default";r.set(c.name,b),f.has(b)||f.set(b,[]),(y=f.get(b))==null||y.push(c.name)}if(i(`\u{1F4C4} \u53D1\u73B0 ${l.length} \u4E2A\u9875\u9762: ${l.map(c=>c.name).join(", ")}`),p){let c=f.get(p)||[];if(c.length===0)return i(`\u8B66\u544A: \u7B56\u7565 "${p}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};i(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${p}, \u9875\u9762: ${c.join(", ")}`);let h=k(p,c,l,g[p],u,s,n,i);return d[p]=h,d}for(let[c,h]of f){if(h.length===0)continue;let v=g[c]||{},b=k(c,h,l,v,u,s,n,i);d[c]=b}if(Object.keys(d).length===0){i("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let c=l.map(v=>v.name),h=k("default",c,l,{},u,s,n,i);d.default=h}let C=Object.keys(d);return i(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${C.join(", ")}`),d}catch(o){throw i("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",o),o}}function k(t,e,a,s,n,g,u,p){let i={},d=[],y={};for(let r of e){let f=a.find(W=>W.name===r);if(!f)continue;let C={pageName:r,filePath:f.file,relativePath:$.relative(process.cwd(),f.file),strategy:t},c=_(n,C,p);c!=null&&c.define&&Object.assign(y,c.define);let h=g,v=`${r}.html`;E.existsSync($.resolve(process.cwd(),v))?h=v:c!=null&&c.template&&(h=c.template);let b=$.resolve(process.cwd(),h);if(!E.existsSync(b)){p(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${h}`);continue}let S=E.readFileSync(b,"utf-8");if(S.includes(u)){let W=`./${f.file}`;S=S.replace(new RegExp(u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),W)}let B=$.resolve(process.cwd(),`.temp.mp.${r}.html`);E.writeFileSync(B,S),d.push(B),i[r]=B}let o={build:{rollupOptions:{input:i,output:{entryFileNames:r=>{let f=e.find(C=>r.name===C);return f?`assets/mp${f}-[name]-[hash].js`:"assets/[name]-[hash].js"},chunkFileNames:r=>{var C;if(r.facadeModuleId)for(let c of e){let h=a.find(v=>v.name===c);if(h&&r.facadeModuleId.includes(h.file.replace(/\\/g,"/")))return`assets/mp${c}-[name]-[hash].js`;if(r.facadeModuleId.includes(`/pages/${c}/`)||r.facadeModuleId.includes(`\\pages\\${c}\\`))return`assets/mp${c}-[name]-[hash].js`}if(r.moduleIds){for(let c of r.moduleIds)for(let h of e)if(c.includes(`/pages/${h}/`)||c.includes(`\\pages\\${h}\\`))return`assets/mp${h}-[name]-[hash].js`}let f=r.name||"";if(f.includes("lodash")||f.includes("vendor")||!r.facadeModuleId||r.facadeModuleId.includes("node_modules")){let c=[...r.moduleIds||[]];r.facadeModuleId&&c.push(r.facadeModuleId);for(let h of e)for(let v of c)if(v.includes(`/pages/${h}/`)||v.includes(`\\pages\\${h}\\`))return`assets/mp${h}-[name]-[hash].js`;for(let h of e)if(f.toLowerCase().includes(h.toLowerCase()))return`assets/mp${h}-[name]-[hash].js`;if(e.includes("spa")&&(f.includes("lodash")||f.includes("vendor")||(C=r.facadeModuleId)!=null&&C.includes("node_modules")))return"assets/mpspa-[name]-[hash].js"}return"assets/[name]-[hash].js"},assetFileNames:r=>{if(r.name){for(let f of e)if(r.name.includes(f)||r.source&&typeof r.source=="string"&&r.source.includes(`pages/${f}/`))return`assets/mp${f}-[name]-[hash][extname]`}return"assets/[name]-[hash][extname]"}}},emptyOutDir:!1},define:{}},l=o;return s&&(l=(0,X.mergeConfig)(o,s)),Object.keys(y).length>0&&(l.define={...l.define,...y}),l.build||(l.build={}),l.build.rollupOptions||(l.build.rollupOptions={}),l.build.rollupOptions.input=i,l.build.emptyOutDir=!1,p(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),l}function H(t=[]){let e=t.findIndex(s=>s==="--outDir");if(e!==-1&&e+1<t.length){let s=t[e+1];return $.resolve(process.cwd(),s)}let a=t.find(s=>s.startsWith("--outDir="));if(a){let s=a.split("=")[1];return $.resolve(process.cwd(),s)}return $.resolve(process.cwd(),"dist")}function Z(t=[]){let e=H(t),a=A(!0);try{E.existsSync(e)&&(E.rmSync(e,{recursive:!0,force:!0}),a(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${$.relative(process.cwd(),e)}`))}catch(s){a(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,s)}}function ee(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:a=[],pageConfigs:s={}}=t,n=A(!1),g=new Set,u=G.glob.sync(e,{cwd:process.cwd()}),p=R(u,e,a,n);if(p.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let i of p){let d={pageName:i.name,filePath:i.file,relativePath:$.relative(process.cwd(),i.file)},y=_(s,d,n),o=(y==null?void 0:y.strategy)||"default";g.add(o)}return Array.from(g).sort()}catch(i){return n("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",i),["default"]}}var j=P(require("fs")),M=P(require("path")),te=require("url"),N=require("module"),se=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function Y(){for(let t of se){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 a=e(t);return a||{}}return null}async function Ce(t){if(t.endsWith(".ts"))try{let e=await j.promises.readFile(t,"utf-8"),a;try{a=await import("esbuild")}catch{throw console.error(`
101
+ `}}var Z=require("vite"),W=require("glob"),P=$(require("path")),E=$(require("fs"));function N(t){var s;let{entry:e="src/pages/*/main.{ts,js}",exclude:i=[],template:n="index.html",placeholder:r="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:f={},pageConfigs:u={},forceBuildStrategy:l,forceBuildPage:o}=t,g=k(!0),p={};try{let c=W.glob.sync(e,{cwd:process.cwd()}),a=R(c,e,i,g);if(a.length===0)return g("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let m=new Map,C=new Map;for(let y of a){let v={pageName:y.name,filePath:y.file,relativePath:P.relative(process.cwd(),y.file)},S=_(u,v,g),b=(S==null?void 0:S.strategy)||"default";m.set(y.name,b),C.has(b)||C.set(b,[]),(s=C.get(b))==null||s.push(y.name)}if(g(`\u{1F4C4} \u53D1\u73B0 ${a.length} \u4E2A\u9875\u9762: ${a.map(y=>y.name).join(", ")}`),o){if(!a.find(I=>I.name===o))return g(`\u8B66\u544A: \u672A\u627E\u5230\u9875\u9762 "${o}"`),{};g(`\u5F3A\u5236\u6784\u5EFA\u9875\u9762: ${o}`);let v=m.get(o)||"default",S=f[v]||{},b=V(`single-${o}`,[o],a,S,u,n,r,g);return p[`single-${o}`]=b,p}if(l){let y=C.get(l)||[];if(y.length===0)return g(`\u8B66\u544A: \u7B56\u7565 "${l}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};g(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${l}, \u9875\u9762: ${y.join(", ")}`);let v=V(l,y,a,f[l],u,n,r,g);return p[l]=v,p}for(let[y,v]of C){if(v.length===0)continue;let S=f[y]||{},b=V(y,v,a,S,u,n,r,g);p[y]=b}if(Object.keys(p).length===0){g("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let y=a.map(S=>S.name),v=V("default",y,a,{},u,n,r,g);p.default=v}let x=Object.keys(p);return g(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${x.join(", ")}`),p}catch(c){throw g("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",c),c}}function V(t,e,i,n,r,f,u,l){let o={},g=[],p={};for(let a of e){let m=i.find(G=>G.name===a);if(!m)continue;let C={pageName:a,filePath:m.file,relativePath:P.relative(process.cwd(),m.file),strategy:t},x=_(r,C,l);x!=null&&x.define&&Object.assign(p,x.define);let y=f,v=`${a}.html`;E.existsSync(P.resolve(process.cwd(),v))?y=v:x!=null&&x.template&&(y=x.template);let S=P.resolve(process.cwd(),y);if(!E.existsSync(S)){l(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${y}`);continue}let b=E.readFileSync(S,"utf-8");if(b.includes(u)){let G=`./${m.file}`;b=b.replace(new RegExp(u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),G)}let I=P.resolve(process.cwd(),`.temp.mp.${a}.html`);E.writeFileSync(I,b),g.push(I),o[a]=I}let s={build:{rollupOptions:{input:o,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},c=s;return n&&(c=(0,Z.mergeConfig)(s,n)),Object.keys(p).length>0&&(c.define={...c.define,...p}),c.build||(c.build={}),c.build.rollupOptions||(c.build.rollupOptions={}),c.build.rollupOptions.input=o,c.build.emptyOutDir=!1,l(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),c}function Y(t=[]){let e=t.findIndex(n=>n==="--outDir");if(e!==-1&&e+1<t.length){let n=t[e+1];return P.resolve(process.cwd(),n)}let i=t.find(n=>n.startsWith("--outDir="));if(i){let n=i.split("=")[1];return P.resolve(process.cwd(),n)}return P.resolve(process.cwd(),"dist")}function ee(t=[]){let e=Y(t),i=k(!0);try{E.existsSync(e)&&(E.rmSync(e,{recursive:!0,force:!0}),i(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${P.relative(process.cwd(),e)}`))}catch(n){i(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,n)}}function te(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:i=[],pageConfigs:n={}}=t,r=k(!1),f=new Set,u=W.glob.sync(e,{cwd:process.cwd()}),l=R(u,e,i,r);if(l.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let o of l){let g={pageName:o.name,filePath:o.file,relativePath:P.relative(process.cwd(),o.file)},p=_(n,g,r),s=(p==null?void 0:p.strategy)||"default";f.add(s)}return Array.from(f).sort()}catch(o){return r("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",o),["default"]}}var M=$(require("fs")),j=$(require("path")),ne=require("url"),A=require("module"),re=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function H(){for(let t of re){let e=j.resolve(process.cwd(),t);if(M.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 M.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: ${M.basename(t)}`)}let s=await a.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),n=new N.Module(t);return n.filename=t,n.paths=N.Module._nodeModulePaths(M.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 j.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),n=new N.Module(t);return n.filename=t,n.paths=N.Module._nodeModulePaths(M.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 ve(){let t=process.cwd();for(let e of se){let a=M.resolve(t,e);if(j.existsSync(a))try{let s=await Ce(a),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 F={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??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 ne(t){return typeof t=="function"?t:()=>t}function re(t){return t}function oe(t,e,a,s){let n=x.resolve(t,"assets");if(!m.existsSync(n)){s("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let g=m.readdirSync(t).filter(o=>o.endsWith(".html")).map(o=>x.resolve(t,o));if(g.length===0){if(s("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u4F46\u4ECD\u9700\u6E05\u7406assets\u76EE\u5F55"),(e==="strategy"||e==="page")&&m.existsSync(n))try{m.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 u=new Map,p=new Map;g.forEach(o=>{var b;let l=x.basename(o,".html");l.startsWith(".temp.mp.")&&(l=l.replace(".temp.mp.",""));let r=m.readFileSync(o,"utf-8"),f=[],C=/(?:src|href)="\/assets\/([^"]+)"/g,c;for(;(c=C.exec(r))!==null;){let S=c[1];f.push(S),p.has(S)||p.set(S,[]),(b=p.get(S))==null||b.push(l)}let h="";e==="strategy"?h="default":e==="page"&&(h=l);let v=x.resolve(t,h);u.set(l,{assets:f,targetDir:v}),s(`\u9875\u9762 ${l} \u4F9D\u8D56\u8D44\u6E90:`,f)}),s("\u7B2C\u4E00\u9636\u6BB5\u8865\u5145\uFF1A\u5206\u6790public\u76EE\u5F55\u8D44\u6E90");let i=new Set,d=x.resolve(process.cwd(),"public");if(m.existsSync(d)){let o=ae.sync("**/*",{cwd:d,nodir:!0});for(let l of o)i.add(l),s(`\u53D1\u73B0public\u8D44\u6E90: ${l}`)}p.forEach((o,l)=>{o.length>1?s(`\u5171\u4EAB\u8D44\u6E90 ${l} \u88AB\u9875\u9762\u4F7F\u7528:`,o):s(`\u72EC\u5360\u8D44\u6E90 ${l} \u4EC5\u88AB\u9875\u9762 ${o[0]} \u4F7F\u7528`)}),u.forEach(({assets:o,targetDir:l},r)=>{let f=x.resolve(l,"assets");if(m.existsSync(f)||m.mkdirSync(f,{recursive:!0}),o.forEach(C=>{let c=x.resolve(n,C),h=x.resolve(f,C);m.existsSync(c)?(m.copyFileSync(c,h),s(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${r}: assets/${C} -> ${x.relative(t,h)}`)):s(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`)}),m.existsSync(n)){let C=m.readdirSync(n),c=`mp${r}-`;C.filter(v=>v.startsWith(c)).forEach(v=>{if(!o.includes(v)){let b=x.resolve(n,v),S=x.resolve(f,v);m.existsSync(b)&&(m.copyFileSync(b,S),s(`\u590D\u5236\u524D\u7F00\u5339\u914D\u7684\u8D44\u6E90\u6587\u4EF6\u5230 ${r}: assets/${v} -> ${x.relative(t,S)}`))}})}}),s("\u7B2C\u4E09\u9636\u6BB5\u8865\u5145\uFF1A\u5904\u7406public\u76EE\u5F55\u8D44\u6E90");let y=new Set;u.forEach(({targetDir:o})=>{y.add(o)});for(let o of y)for(let l of i){let r=x.resolve(t,l),f=x.resolve(o,l);if(m.existsSync(r)){let C=x.dirname(f);m.existsSync(C)||m.mkdirSync(C,{recursive:!0}),m.copyFileSync(r,f),s(`\u590D\u5236public\u8D44\u6E90: ${l} -> ${x.relative(t,f)}`)}}if(u.forEach(({targetDir:o},l)=>{let r=x.resolve(t,`${l}.html`),f=l;if(m.existsSync(r)||(r=x.resolve(t,`.temp.mp.${l}.html`),m.existsSync(r)&&(f=l)),m.existsSync(r)){let C=m.readFileSync(r,"utf-8");C=C.replace(/(?:src|href)="\/assets\//g,v=>v.replace("/assets/","./assets/"));let c;e==="strategy"?c=x.resolve(o,`${f}.html`):e==="page"?c=x.resolve(o,"index.html"):c=r,m.writeFileSync(c,C),c!==r&&m.unlinkSync(r);let h=x.relative(t,c);s(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${f}.html -> ${h}`)}else s(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${l}.html \u6216 .temp.mp.${l}.html`)}),m.existsSync(n))if(e==="strategy"||e==="page")try{m.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{p.forEach((l,r)=>{let f=x.resolve(n,r);m.existsSync(f)&&(m.unlinkSync(f),s(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${r}`))});let o=m.readdirSync(n);o.length===0?(m.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 l=x.resolve(t,o);if(m.existsSync(l))try{m.unlinkSync(l),s(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90: ${o}`)}catch(r){s(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90\u5931\u8D25: ${o}`,r)}}),i.forEach(o=>{let l=x.resolve(t,o),r=x.dirname(l);for(;r!==t&&r!==x.dirname(r);)try{if(m.existsSync(r)&&m.readdirSync(r).length===0)m.rmdirSync(r),s(`\u5220\u9664\u7A7A\u76EE\u5F55: ${x.relative(t,r)}`),r=x.dirname(r);else break}catch{break}}))}function le(t){let e,a=[],s=()=>{};return{name:"vite-multi-page",async configResolved(n){let g=null;Y()&&(g=await z({mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}));let u=D(g);e=t?t(u,{mode:n.command==="serve"?"development":"production",command:n.command,isCLI:!1}):u,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:g}){var u;if(g==="serve"){let p=process.argv,i=p.find(d=>d.startsWith("--strategy="));if(i){let d=i.split("=")[1];d&&(process.env.VITE_MULTI_PAGE_STRATEGY=d)}else{let d=p.findIndex(y=>y==="--strategy");if(d!==-1&&d+1<p.length){let y=p[d+1];process.env.VITE_MULTI_PAGE_STRATEGY=y}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(g==="build"){if(!e){let y=null;Y()&&(y=await z({mode:"production",command:"build",isCLI:!1}));let o=D(y);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 p=process.env.VITE_MULTI_PAGE_STRATEGY,i=V({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:p}),d=Object.keys(i)[0];if(d&&i[d]){s(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${d}`);let y=i[d],o=(0,ie.mergeConfig)(n,y);Object.assign(n,o),s(`\u5DF2\u5E94\u7528\u7B56\u7565 "${d}" \u7684\u914D\u7F6E:`,{build:!!y.build,define:!!y.define,plugins:((u=y.plugins)==null?void 0:u.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: ${j.basename(t)}`)}let n=await i.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),r=new A.Module(t);return r.filename=t,r.paths=A.Module._nodeModulePaths(j.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 M.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),r=new A.Module(t);return r.filename=t,r.paths=A.Module._nodeModulePaths(j.dirname(t)),r._compile(n,t),r.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${(0,ne.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 re){let i=j.resolve(t,e);if(M.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 D(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 oe=$(require("glob"));function se(t){return typeof t=="function"?t:()=>t}function ie(t){return t}function ae(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 f=d.readdirSync(t).filter(s=>s.endsWith(".html")).map(s=>h.resolve(t,s));if(f.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(s){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",s)}return}let u=new Map,l=new Map;f.forEach(s=>{var S;let c=h.basename(s,".html");c.startsWith(".temp.mp.")&&(c=c.replace(".temp.mp.",""));let a=d.readFileSync(s,"utf-8"),m=[],C=/(?:src|href)="\/assets\/([^"]+)"/g,x;for(;(x=C.exec(a))!==null;){let b=x[1];m.push(b),l.has(b)||l.set(b,[]),(S=l.get(b))==null||S.push(c)}let y="";e==="page"&&(y=c);let v=h.resolve(t,y);u.set(c,{assets:m,targetDir:v}),n(`\u9875\u9762 ${c} \u4F9D\u8D56\u8D44\u6E90:`,m)}),n("\u7B2C\u4E00\u9636\u6BB5\u8865\u5145\uFF1A\u5206\u6790public\u76EE\u5F55\u8D44\u6E90");let o=new Set,g=h.resolve(process.cwd(),"public");if(d.existsSync(g)){let s=oe.sync("**/*",{cwd:g,nodir:!0});for(let c of s)o.add(c),n(`\u53D1\u73B0public\u8D44\u6E90: ${c}`)}l.forEach((s,c)=>{s.length>1?n(`\u5171\u4EAB\u8D44\u6E90 ${c} \u88AB\u9875\u9762\u4F7F\u7528:`,s):n(`\u72EC\u5360\u8D44\u6E90 ${c} \u4EC5\u88AB\u9875\u9762 ${s[0]} \u4F7F\u7528`)}),u.forEach(({assets:s,targetDir:c},a)=>{let m=h.resolve(c,"assets");d.existsSync(m)||d.mkdirSync(m,{recursive:!0}),s.forEach(C=>{let x=h.resolve(r,C),y=h.resolve(m,C);if(d.existsSync(x)){d.copyFileSync(x,y);let S=(l.get(C)||[]).length>1?"\u5171\u4EAB\u8D44\u6E90":"\u72EC\u5360\u8D44\u6E90";n(`\u590D\u5236${S}\u5230 ${a}: assets/${C} -> ${h.relative(t,y)}`)}else n(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${x}`)}),d.existsSync(r)&&d.readdirSync(r).forEach(x=>{if(!s.includes(x)){let y=h.resolve(r,x),v=h.resolve(m,x);d.existsSync(y)&&(d.copyFileSync(y,v),n(`\u590D\u5236\u5176\u4ED6\u8D44\u6E90\u6587\u4EF6\u5230 ${a}: assets/${x} -> ${h.relative(t,v)}`))}})}),n("\u7B2C\u4E09\u9636\u6BB5\u8865\u5145\uFF1A\u5904\u7406public\u76EE\u5F55\u8D44\u6E90");let p=new Set;u.forEach(({targetDir:s})=>{p.add(s)});for(let s of p)for(let c of o){let a=h.resolve(t,c),m=h.resolve(s,c);if(d.existsSync(a)){let C=h.dirname(m);d.existsSync(C)||d.mkdirSync(C,{recursive:!0}),d.copyFileSync(a,m),n(`\u590D\u5236public\u8D44\u6E90: ${c} -> ${h.relative(t,m)}`)}}if(u.forEach(({targetDir:s},c)=>{let a=h.resolve(t,`${c}.html`),m=c;if(d.existsSync(a)||(a=h.resolve(t,`.temp.mp.${c}.html`),d.existsSync(a)&&(m=c)),d.existsSync(a)){let C=d.readFileSync(a,"utf-8");C=C.replace(/(?:src|href)="\/assets\//g,v=>v.replace("/assets/","./assets/"));let x;e==="strategy"?x=h.resolve(s,`${m}.html`):e==="page"?x=h.resolve(s,"index.html"):x=a,d.writeFileSync(x,C),x!==a&&d.unlinkSync(a);let y=h.relative(t,x);n(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${m}.html -> ${y}`)}else n(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${c}.html \u6216 .temp.mp.${c}.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(s){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",s)}else{l.forEach((c,a)=>{let m=h.resolve(r,a);d.existsSync(m)&&(d.unlinkSync(m),n(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${a}`))});let s=d.readdirSync(r);s.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:",s)}(e==="strategy"||e==="page")&&o.size>0&&(n("\u7B2C\u4E94\u9636\u6BB5\u8865\u5145\uFF1A\u6E05\u7406\u6839\u76EE\u5F55\u7684public\u8D44\u6E90"),o.forEach(s=>{let c=h.resolve(t,s);if(d.existsSync(c))try{d.unlinkSync(c),n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90: ${s}`)}catch(a){n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90\u5931\u8D25: ${s}`,a)}}),o.forEach(s=>{let c=h.resolve(t,s),a=h.dirname(c);for(;a!==t&&a!==h.dirname(a);)try{if(d.existsSync(a)&&d.readdirSync(a).length===0)d.rmdirSync(a),n(`\u5220\u9664\u7A7A\u76EE\u5F55: ${h.relative(t,a)}`),a=h.dirname(a);else break}catch{break}}))}function ce(t){let e,i=[],n=()=>{};return{name:"vite-multi-page",async configResolved(r){let f=null;H()&&(f=await z({mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}));let u=D(f);e=t?t(u,{mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}):u,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:f}){var u;if(f==="serve"){let l=process.argv,o=l.find(g=>g.startsWith("--strategy="));if(o){let g=o.split("=")[1];g&&(process.env.VITE_MULTI_PAGE_STRATEGY=g)}else{let g=l.findIndex(p=>p==="--strategy");if(g!==-1&&g+1<l.length){let p=l[g+1];process.env.VITE_MULTI_PAGE_STRATEGY=p}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(f==="build"){if(!e){let s=null;H()&&(s=await z({mode:"production",command:"build",isCLI:!1}));let c=D(s);e=t?t(c,{mode:"production",command:"build",isCLI:!1}):c,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}n("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let l=process.env.VITE_MULTI_PAGE_BUILD_SINGLE_PAGE;if(l){n(`\u5355\u9875\u9762\u6784\u5EFA\u6A21\u5F0F: ${l}`);let s=N({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:void 0,forceBuildPage:l}),c=Object.values(s);if(c.length>0){let a=c[0],m=(0,q.mergeConfig)(r,a);Object.assign(r,m),n(`\u5DF2\u5E94\u7528\u5355\u9875\u9762\u6784\u5EFA\u914D\u7F6E: ${l}`);return}else throw new Error(`\u672A\u627E\u5230\u9875\u9762: ${l}`)}let o=process.env.VITE_MULTI_PAGE_STRATEGY,g=N({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:o}),p=Object.keys(g)[0];if(p&&g[p]){n(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${p}`);let s=g[p],c=(0,q.mergeConfig)(r,s);Object.assign(r,c),n(`\u5DF2\u5E94\u7528\u7B56\u7565 "${p}" \u7684\u914D\u7F6E:`,{build:!!s.build,define:!!s.define,plugins:((u=s.plugins)==null?void 0:u.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 g=process.env.VITE_MULTI_PAGE_STRATEGY||"default";s(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${g}`),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:g},s)}},writeBundle(n){if(!(e!=null&&e.merge)||e.merge==="all")return;let g=n.dir||"dist",u=e.merge;s(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${u}`);try{oe(g,u,e,s)}catch(p){throw s("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",p),p}},buildEnd(){a.length>0&&(s(`\u6E05\u7406 ${a.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),a.forEach(n=>{try{m.existsSync(n)&&(m.unlinkSync(n),s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${n}`))}catch(g){s(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${n}`,g)}}),a.length=0)}}}function be(t,e,a,s){return oe(t,e,a,s)}var Se=le;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 f=process.env.VITE_MULTI_PAGE_STRATEGY||"default";n(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${f}`),X(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:f},n)}},writeBundle(r){if(!(e!=null&&e.merge)||e.merge==="all")return;let f=r.dir||"dist",u=e.merge;n(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${u}`);try{ae(f,u,e,n)}catch(l){throw n("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",l),l}},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(f){n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${r}`,f)}}),i.length=0)}}}function be(t,e,i,n){return ae(t,e,i,n)}var Se=ce;0&&(module.exports={cleanViteOutputDirectory,defineConfig,defineConfigTransform,generateBuildConfig,getAvailableStrategies,getViteOutputDirectory,mergeWithDefaults,reorganizeAssetsInCLI,viteMultiPage});
120
120
  //# sourceMappingURL=index.js.map