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

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.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import*as d from"fs";import*as h from"path";import{mergeConfig as ge}from"vite";import*as P from"path";import*as R from"fs";import{glob as X}from"glob";import*as F from"path";function I(t,e,o,n){let r=[],g=new Map,f=e.replace(/\/\*.*$/,"");(!f||f===e)&&(f=F.dirname(e.split("*")[0]));let c=[];for(let s of t){if(o.includes(s))continue;let p=s.replace(/\\/g,"/"),m=f.replace(/\\/g,"/"),a=F.posix.relative(m,p).split("/");if(a.length===1){let l=a[0],y=F.posix.basename(l,F.posix.extname(l));c.push({name:y,file:s,priority:1})}else if(a.length>=2){let l=F.posix.basename(p,F.posix.extname(p)),y=a[0];l==="main"&&c.push({name:y,file:s,priority:2})}}for(let s of c){let p=g.get(s.name);p?s.priority>p.priority&&g.set(s.name,{file:s.file,priority:s.priority}):g.set(s.name,{file:s.file,priority:s.priority})}for(let[s,{file:p}]of g.entries())r.push({name:s,file:p});return r}function H(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}function _(t,e,o){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 o(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,r),r;if(r.match&&(Array.isArray(r.match)?r.match:[r.match]).some(c=>N(c,e.pageName)||N(c,e.relativePath)||N(c,e.filePath)))return o(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${r.match}):`,r),{...r,match:void 0};if(N(n,e.pageName))return o(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n}):`,r),r}return null}function N(t,e){let o=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${o}$`).test(e)}function Z(t,e,o){try{let n=X.sync(e.entry,{cwd:process.cwd()}),r=I(n,e.entry,e.exclude,o);if(r.length===0){o("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let g=e.devStrategy||t.config.__cliStrategy||t.config.strategy;g&&(o(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${g}`),r=r.filter(f=>{let c={pageName:f.name,filePath:f.file,relativePath:P.relative(process.cwd(),f.file),strategy:void 0,isMatched:!1},s=_(e.pageConfigs,c,o),p=(s==null?void 0:s.strategy)||"default";return g==="default"?p==="default":p===g}),o(`\u7B56\u7565 "${g}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${r.map(f=>f.name).join(", ")||"\u65E0"}`)),o("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",r),t.middlewares.use(async(f,c,s)=>{try{let m=(f.url||"").split("?")[0];if(m==="/"){let l=te(r,e,o);c.statusCode=200,c.setHeader("Content-Type","text/html"),c.end(l);return}if(m.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!m.endsWith(".html")||m.startsWith("/@")||m.includes("__vite")||m.startsWith("/node_modules"))return s();let i="";if(m.endsWith(".html"))i=P.basename(m,".html");else if(m.startsWith("/")){let l=m.substring(1);if(r.find(y=>y.name===l))i=l;else{let y=l.split("/");if(y.length>1){let C=y[0];r.find(u=>u.name===C)&&(i=C,o(`History \u8DEF\u7531\u5339\u914D: ${m} -> ${C}`))}}}if(!i)return s();let a=r.find(l=>l.name===i);return a?ee(c,a,e,o):s()}catch(p){o(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${p}`),s(p)}}),o("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(n){throw o(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${n}`),n}}function ee(t,e,o,n){var m;let r={pageName:e.name,filePath:e.file,relativePath:P.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},g=_(o.pageConfigs,r,n);if(g!=null&&g.strategy)r.strategy=g.strategy;else if((m=o.appliedStrategies)!=null&&m.has(e.name)){let i=o.appliedStrategies.get(e.name);i&&(r.strategy=i)}let f="",c=P.resolve(process.cwd(),`${e.name}.html`);if(R.existsSync(c)?f=c:g!=null&&g.template?f=P.resolve(process.cwd(),g.template):f=P.resolve(process.cwd(),o.template),!R.existsSync(f)){t.statusCode=404,t.end("Template not found");return}let s=R.readFileSync(f,"utf-8");if(s.includes(o.placeholder)){let i=s;if(s=s.split(o.placeholder).join(`/${e.file}`),s===i){let a=H(o.placeholder),l=new RegExp(a,"g");s=i.replace(l,`/${e.file}`),s===i&&(s=i.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(g!=null&&g.define){let i=Object.entries(g.define).map(([a,l])=>{let y=typeof l=="string"?`"${l}"`:JSON.stringify(l);return`window.${a} = ${y};`}).join(`
2
- `);i&&(s=s.replace(/<\/head>/i,`<script type="text/javascript">
3
- ${i}
1
+ import*as u from"fs";import*as C from"path";import{mergeConfig as fe}from"vite";import*as P from"path";import*as R from"fs";import{glob as X}from"glob";import*as E from"path";function N(t,e,c,n){let r=[],g=new Map,d=e.replace(/\/\*.*$/,"");(!d||d===e)&&(d=E.dirname(e.split("*")[0]));let p=[];for(let i of t){if(c.includes(i))continue;let m=i.replace(/\\/g,"/"),h=d.replace(/\\/g,"/"),l=E.posix.relative(h,m).split("/");if(l.length===1){let s=l[0],o=E.posix.basename(s,E.posix.extname(s));p.push({name:o,file:i,priority:1})}else if(l.length>=2){let s=E.posix.basename(m,E.posix.extname(m)),o=l[0];s==="main"&&p.push({name:o,file:i,priority:2})}}for(let i of p){let m=g.get(i.name);m?i.priority>m.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:m}]of g.entries())r.push({name:i,file:m});return r}function H(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function D(t){return(...e)=>{t&&console.log("[vite-plugin-multi-page]",...e)}}function _(t,e,c){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 c(`\u7CBE\u786E\u5339\u914D\u9875\u9762 ${e.pageName}:`,r),r;if(r.match&&(Array.isArray(r.match)?r.match:[r.match]).some(p=>L(p,e.pageName)||L(p,e.relativePath)||L(p,e.filePath)))return c(`\u6A21\u5F0F\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${r.match}):`,r),{...r,match:void 0};if(L(n,e.pageName))return c(`Glob\u5339\u914D\u9875\u9762 ${e.pageName} (\u6A21\u5F0F: ${n}):`,r),r}return null}function L(t,e){let c=t.replace(/\*\*/g,"__DOUBLE_STAR__").replace(/\*/g,"[^/]*").replace(/__DOUBLE_STAR__/g,".*");return new RegExp(`^${c}$`).test(e)}function Z(t,e,c){try{let n=X.sync(e.entry,{cwd:process.cwd()}),r=N(n,e.entry,e.exclude,c);if(r.length===0){c("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6");return}let g=e.devStrategy||t.config.__cliStrategy||t.config.strategy;g&&(c(`\u5F00\u53D1\u670D\u52A1\u5668\u4F7F\u7528\u6307\u5B9A\u7684\u7B56\u7565: ${g}`),r=r.filter(d=>{let p={pageName:d.name,filePath:d.file,relativePath:P.relative(process.cwd(),d.file),strategy:void 0,isMatched:!1},i=_(e.pageConfigs,p,c),m=(i==null?void 0:i.strategy)||"default";return g==="default"?m==="default":m===g}),c(`\u7B56\u7565 "${g}" \u4E0B\u53EF\u7528\u7684\u9875\u9762: ${r.map(d=>d.name).join(", ")||"\u65E0"}`)),c("\u5F00\u53D1\u670D\u52A1\u5668\u5E94\u7528\u7684\u5165\u53E3\u6587\u4EF6:",r),t.middlewares.use(async(d,p,i)=>{try{let h=(d.url||"").split("?")[0];if(h==="/"){let s=te(r,e,c);p.statusCode=200,p.setHeader("Content-Type","text/html"),p.end(s);return}if(h.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|map)$/)&&!h.endsWith(".html")||h.startsWith("/@")||h.includes("__vite")||h.startsWith("/node_modules"))return i();let a="";if(h.endsWith(".html"))a=P.basename(h,".html");else if(h.startsWith("/")){let s=h.substring(1);if(r.find(o=>o.name===s))a=s;else{let o=s.split("/");if(o.length>1){let x=o[0];r.find(f=>f.name===x)&&(a=x,c(`History \u8DEF\u7531\u5339\u914D: ${h} -> ${x}`))}}}if(!a)return i();let l=r.find(s=>s.name===a);return l?ee(p,l,e,c):i()}catch(m){c(`\u5F00\u53D1\u670D\u52A1\u5668\u5904\u7406\u8BF7\u6C42\u5931\u8D25: ${m}`),i(m)}}),c("\u5F00\u53D1\u670D\u52A1\u5668\u914D\u7F6E\u5B8C\u6210")}catch(n){throw c(`\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668\u5931\u8D25: ${n}`),n}}function ee(t,e,c,n){var h;let r={pageName:e.name,filePath:e.file,relativePath:P.relative(process.cwd(),e.file),strategy:void 0,isMatched:!1},g=_(c.pageConfigs,r,n);if(g!=null&&g.strategy)r.strategy=g.strategy;else if((h=c.appliedStrategies)!=null&&h.has(e.name)){let a=c.appliedStrategies.get(e.name);a&&(r.strategy=a)}let d="",p=P.resolve(process.cwd(),`${e.name}.html`);if(R.existsSync(p)?d=p:g!=null&&g.template?d=P.resolve(process.cwd(),g.template):d=P.resolve(process.cwd(),c.template),!R.existsSync(d)){t.statusCode=404,t.end("Template not found");return}let i=R.readFileSync(d,"utf-8");if(i.includes(c.placeholder)){let a=i;if(i=i.split(c.placeholder).join(`/${e.file}`),i===a){let l=H(c.placeholder),s=new RegExp(l,"g");i=a.replace(s,`/${e.file}`),i===a&&(i=a.replace(/\{\{ENTRY_FILE\}\}/g,`/${e.file}`))}}if(g!=null&&g.define){let a=Object.entries(g.define).map(([l,s])=>{let o=typeof s=="string"?`"${s}"`:JSON.stringify(s);return`window.${l} = ${o};`}).join(`
2
+ `);a&&(i=i.replace(/<\/head>/i,`<script type="text/javascript">
3
+ ${a}
4
4
  </script>
5
- </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(s)}var Y=Z;function te(t,e,o){try{let n=t.map(r=>{var p;let g={pageName:r.name,filePath:r.file,relativePath:P.relative(process.cwd(),r.file),strategy:void 0,isMatched:!1},f=_(e.pageConfigs,g,o),c="default";if(f!=null&&f.strategy)c=f.strategy;else if((p=e.appliedStrategies)!=null&&p.has(r.name)){let m=e.appliedStrategies.get(r.name);m&&(c=m)}let s=c!=="default"?`<span class="badge">${c}</span>`:"";return`
5
+ </head>`))}t.statusCode=200,t.setHeader("Content-Type","text/html"),t.end(i)}var Y=Z;function te(t,e,c){try{let n=t.map(r=>{var m;let g={pageName:r.name,filePath:r.file,relativePath:P.relative(process.cwd(),r.file),strategy:void 0,isMatched:!1},d=_(e.pageConfigs,g,c),p="default";if(d!=null&&d.strategy)p=d.strategy;else if((m=e.appliedStrategies)!=null&&m.has(r.name)){let h=e.appliedStrategies.get(r.name);h&&(p=h)}let i=p!=="default"?`<span class="badge">${p}</span>`:"";return`
6
6
  <div class="page-item">
7
7
  <a href="${r.name}.html" class="page-link">
8
- ${r.name}${s}
8
+ ${r.name}${i}
9
9
  </a>
10
10
  <div class="page-path">${r.file}</div>
11
11
  </div>`}).join("");return`
@@ -87,7 +87,7 @@ ${i}
87
87
  </div>
88
88
  </body>
89
89
  </html>
90
- `}catch(n){return o(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${n}`),`
90
+ `}catch(n){return c(`\u751F\u6210\u7D22\u5F15\u9875\u5931\u8D25: ${n}`),`
91
91
  <!DOCTYPE html>
92
92
  <html>
93
93
  <head>
@@ -98,10 +98,10 @@ ${i}
98
98
  <p>${n}</p>
99
99
  </body>
100
100
  </html>
101
- `}}import{mergeConfig as ne}from"vite";import{glob as z}from"glob";import*as S from"path";import*as $ from"fs";function B(t){var m;let{entry:e="src/pages/*/main.{ts,js}",exclude:o=[],template:n="index.html",placeholder:r="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:g={},pageConfigs:f={},forceBuildStrategy:c}=t,s=D(!0),p={};try{let i=z.sync(e,{cwd:process.cwd()}),a=I(i,e,o,s);if(a.length===0)return s("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let l=new Map,y=new Map;for(let u of a){let x={pageName:u.name,filePath:u.file,relativePath:S.relative(process.cwd(),u.file)},v=_(f,x,s),b=(v==null?void 0:v.strategy)||"default";l.set(u.name,b),y.has(b)||y.set(b,[]),(m=y.get(b))==null||m.push(u.name)}if(s(`\u{1F4C4} \u53D1\u73B0 ${a.length} \u4E2A\u9875\u9762: ${a.map(u=>u.name).join(", ")}`),c){let u=y.get(c)||[];if(u.length===0)return s(`\u8B66\u544A: \u7B56\u7565 "${c}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};s(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${c}, \u9875\u9762: ${u.join(", ")}`);let x=V(c,u,a,g[c],f,n,r,s);return p[c]=x,p}for(let[u,x]of y){if(x.length===0)continue;let v=g[u]||{},b=V(u,x,a,v,f,n,r,s);p[u]=b}if(Object.keys(p).length===0){s("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let u=a.map(v=>v.name),x=V("default",u,a,{},f,n,r,s);p.default=x}let C=Object.keys(p);return s(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${C.join(", ")}`),p}catch(i){throw s("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",i),i}}function V(t,e,o,n,r,g,f,c){let s={},p=[],m={};for(let l of e){let y=o.find(U=>U.name===l);if(!y)continue;let C={pageName:l,filePath:y.file,relativePath:S.relative(process.cwd(),y.file),strategy:t},u=_(r,C,c);u!=null&&u.define&&Object.assign(m,u.define);let x=g,v=`${l}.html`;$.existsSync(S.resolve(process.cwd(),v))?x=v:u!=null&&u.template&&(x=u.template);let b=S.resolve(process.cwd(),x);if(!$.existsSync(b)){c(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${x}`);continue}let w=$.readFileSync(b,"utf-8");if(w.includes(f)){let U=`./${y.file}`;w=w.replace(new RegExp(f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),U)}let A=S.resolve(process.cwd(),`.temp.mp.${l}.html`);$.writeFileSync(A,w),p.push(A),s[l]=A}let i={build:{rollupOptions:{input:s,output:{entryFileNames:"assets/[name]-[hash].js",chunkFileNames:"assets/[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}},emptyOutDir:!1},define:{}},a=i;return n&&(a=ne(i,n)),Object.keys(m).length>0&&(a.define={...a.define,...m}),a.build||(a.build={}),a.build.rollupOptions||(a.build.rollupOptions={}),a.build.rollupOptions.input=s,a.build.emptyOutDir=!1,c(`\u7B56\u7565 "${t}" - ${e.length} \u4E2A\u9875\u9762`),a}function q(t=[]){let e=t.findIndex(n=>n==="--outDir");if(e!==-1&&e+1<t.length){let n=t[e+1];return S.resolve(process.cwd(),n)}let o=t.find(n=>n.startsWith("--outDir="));if(o){let n=o.split("=")[1];return S.resolve(process.cwd(),n)}return S.resolve(process.cwd(),"dist")}function re(t=[]){let e=q(t),o=D(!0);try{$.existsSync(e)&&($.rmSync(e,{recursive:!0,force:!0}),o(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${S.relative(process.cwd(),e)}`))}catch(n){o(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,n)}}function se(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:o=[],pageConfigs:n={}}=t,r=D(!1),g=new Set,f=z.sync(e,{cwd:process.cwd()}),c=I(f,e,o,r);if(c.length===0)throw new Error(`\u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6: ${e}`);try{for(let s of c){let p={pageName:s.name,filePath:s.file,relativePath:S.relative(process.cwd(),s.file)},m=_(n,p,r),i=(m==null?void 0:m.strategy)||"default";g.add(i)}return Array.from(g).sort()}catch(s){return r("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",s),["default"]}}import*as j from"fs";import*as M from"path";import{pathToFileURL as ie}from"url";import{Module as L}from"module";var J=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function W(){for(let t of J){let e=M.resolve(process.cwd(),t);if(j.existsSync(e))return!0}return!1}async function G(t){let e=await oe();if(e){let o=e(t);return o||{}}return null}async function ae(t){if(t.endsWith(".ts"))try{let e=await j.promises.readFile(t,"utf-8"),o;try{o=await import("esbuild")}catch{throw console.error(`
101
+ `}}import{mergeConfig as se}from"vite";import{glob as z}from"glob";import*as S from"path";import*as w from"fs";function B(t){var h;let{entry:e="src/pages/*/main.{ts,js}",exclude:c=[],template:n="index.html",placeholder:r="<!--VITE_MULTI_PAGE_ENTRY-->",strategies:g={},pageConfigs:d={},forceBuildStrategy:p}=t,i=D(!0),m={};try{let a=z.sync(e,{cwd:process.cwd()}),l=N(a,e,c,i);if(l.length===0)return i("\u8B66\u544A: \u672A\u627E\u5230\u5339\u914D\u7684\u5165\u53E3\u6587\u4EF6"),{};let s=new Map,o=new Map;for(let f of l){let y={pageName:f.name,filePath:f.file,relativePath:S.relative(process.cwd(),f.file)},v=_(d,y,i),b=(v==null?void 0:v.strategy)||"default";s.set(f.name,b),o.has(b)||o.set(b,[]),(h=o.get(b))==null||h.push(f.name)}if(i(`\u{1F4C4} \u53D1\u73B0 ${l.length} \u4E2A\u9875\u9762: ${l.map(f=>f.name).join(", ")}`),p){let f=o.get(p)||[];if(f.length===0)return i(`\u8B66\u544A: \u7B56\u7565 "${p}" \u4E0B\u6CA1\u6709\u9875\u9762`),{};i(`\u5F3A\u5236\u6784\u5EFA\u7B56\u7565: ${p}, \u9875\u9762: ${f.join(", ")}`);let y=V(p,f,l,g[p],d,n,r,i);return m[p]=y,m}for(let[f,y]of o){if(y.length===0)continue;let v=g[f]||{},b=V(f,y,l,v,d,n,r,i);m[f]=b}if(Object.keys(m).length===0){i("\u8B66\u544A: \u672A\u751F\u6210\u4EFB\u4F55\u6784\u5EFA\u914D\u7F6E\uFF0C\u521B\u5EFA\u9ED8\u8BA4\u914D\u7F6E");let f=l.map(v=>v.name),y=V("default",f,l,{},d,n,r,i);m.default=y}let x=Object.keys(m);return i(`\u{1F4E6} \u6784\u5EFA\u7B56\u7565: ${x.join(", ")}`),m}catch(a){throw i("\u751F\u6210\u6784\u5EFA\u914D\u7F6E\u5931\u8D25:",a),a}}function V(t,e,c,n,r,g,d,p){let i={},m=[],h={};for(let s of e){let o=c.find(W=>W.name===s);if(!o)continue;let x={pageName:s,filePath:o.file,relativePath:S.relative(process.cwd(),o.file),strategy:t},f=_(r,x,p);f!=null&&f.define&&Object.assign(h,f.define);let y=g,v=`${s}.html`;w.existsSync(S.resolve(process.cwd(),v))?y=v:f!=null&&f.template&&(y=f.template);let b=S.resolve(process.cwd(),y);if(!w.existsSync(b)){p(`\u8B66\u544A: \u6A21\u677F\u6587\u4EF6\u4E0D\u5B58\u5728: ${y}`);continue}let $=w.readFileSync(b,"utf-8");if($.includes(d)){let W=`./${o.file}`;$=$.replace(new RegExp(d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),W)}let I=S.resolve(process.cwd(),`.temp.mp.${s}.html`);w.writeFileSync(I,$),m.push(I),i[s]=I}let a={build:{rollupOptions:{input:i,output:{entryFileNames:s=>{let o=e.find(x=>s.name===x);return o?`assets/mp${o}-[name]-[hash].js`:"assets/[name]-[hash].js"},chunkFileNames:s=>{var x;if(s.facadeModuleId)for(let f of e){let y=c.find(v=>v.name===f);if(y&&s.facadeModuleId.includes(y.file.replace(/\\/g,"/")))return`assets/mp${f}-[name]-[hash].js`;if(s.facadeModuleId.includes(`/pages/${f}/`)||s.facadeModuleId.includes(`\\pages\\${f}\\`))return`assets/mp${f}-[name]-[hash].js`}if(s.moduleIds){for(let f of s.moduleIds)for(let y of e)if(f.includes(`/pages/${y}/`)||f.includes(`\\pages\\${y}\\`))return`assets/mp${y}-[name]-[hash].js`}let o=s.name||"";if(o.includes("lodash")||o.includes("vendor")||!s.facadeModuleId||s.facadeModuleId.includes("node_modules")){let f=[...s.moduleIds||[]];s.facadeModuleId&&f.push(s.facadeModuleId);for(let y of e)for(let v of f)if(v.includes(`/pages/${y}/`)||v.includes(`\\pages\\${y}\\`))return`assets/mp${y}-[name]-[hash].js`;for(let y of e)if(o.toLowerCase().includes(y.toLowerCase()))return`assets/mp${y}-[name]-[hash].js`;if(e.includes("spa")&&(o.includes("lodash")||o.includes("vendor")||(x=s.facadeModuleId)!=null&&x.includes("node_modules")))return"assets/mpspa-[name]-[hash].js"}return"assets/[name]-[hash].js"},assetFileNames:s=>{if(s.name){for(let o of e)if(s.name.includes(o))return`assets/mp${o}-[name]-[hash][extname]`;if(s.source&&typeof s.source=="string"){for(let o of e)if(s.source.includes(`pages/${o}/`))return`assets/mp${o}-[name]-[hash][extname]`}if(s.originalFileName){for(let o of e)if(s.originalFileName.includes(`/pages/${o}/`)||s.originalFileName.includes(`\\pages\\${o}\\`))return`assets/mp${o}-[name]-[hash][extname]`}if(s.name==="ttt"||s.name==="test-styles"||s.name.startsWith("test-styles")){let o=Object.keys(i);for(let x of e)if(o.some(f=>f===x)){if(s.name==="ttt"&&x==="mobile")return`assets/mp${x}-[name]-[hash][extname]`;if((s.name==="test-styles"||s.name.startsWith("test-styles"))&&(x==="mobile"||x==="home"))return`assets/mp${x}-[name]-[hash][extname]`}if(s.name==="ttt"||s.name==="test-styles"||s.name.startsWith("test-styles"))return"assets/mpmobile-[name]-[hash][extname]"}if(typeof s.source=="string"&&s.source.length>0){for(let o of e)if(s.source.includes(`${o}-`)||s.source.includes(`.${o}`)||s.source.includes(`/* ${o}`))return`assets/mp${o}-[name]-[hash][extname]`}}return"assets/[name]-[hash][extname]"}}},emptyOutDir:!1},define:{}},l=a;return n&&(l=se(a,n)),Object.keys(h).length>0&&(l.define={...l.define,...h}),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 q(t=[]){let e=t.findIndex(n=>n==="--outDir");if(e!==-1&&e+1<t.length){let n=t[e+1];return S.resolve(process.cwd(),n)}let c=t.find(n=>n.startsWith("--outDir="));if(c){let n=c.split("=")[1];return S.resolve(process.cwd(),n)}return S.resolve(process.cwd(),"dist")}function ne(t=[]){let e=q(t),c=D(!0);try{w.existsSync(e)&&(w.rmSync(e,{recursive:!0,force:!0}),c(`\u{1F9F9} \u6E05\u7406\u8F93\u51FA\u76EE\u5F55: ${S.relative(process.cwd(),e)}`))}catch(n){c(`\u26A0\uFE0F \u6E05\u7406\u8F93\u51FA\u76EE\u5F55\u5931\u8D25: ${e}`,n)}}function re(t){let{entry:e="src/pages/*/main.{ts,js}",exclude:c=[],pageConfigs:n={}}=t,r=D(!1),g=new Set,d=z.sync(e,{cwd:process.cwd()}),p=N(d,e,c,r);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 m={pageName:i.name,filePath:i.file,relativePath:S.relative(process.cwd(),i.file)},h=_(n,m,r),a=(h==null?void 0:h.strategy)||"default";g.add(a)}return Array.from(g).sort()}catch(i){return r("\u83B7\u53D6\u53EF\u7528\u7B56\u7565\u5931\u8D25:",i),["default"]}}import*as j from"fs";import*as M from"path";import{pathToFileURL as ie}from"url";import{Module as A}from"module";var J=["multipage.config.js","multipage.config.mjs","multipage.config.ts"];function k(){for(let t of J){let e=M.resolve(process.cwd(),t);if(j.existsSync(e))return!0}return!1}async function G(t){let e=await oe();if(e){let c=e(t);return c||{}}return null}async function ae(t){if(t.endsWith(".ts"))try{let e=await j.promises.readFile(t,"utf-8"),c;try{c=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 n=await o.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),r=new L(t);return r.filename=t,r.paths=L._nodeModulePaths(M.dirname(t)),r._compile(n.code,t),r.exports}catch(e){if(e instanceof Error&&e.message.includes("\u9700\u8981 esbuild \u4F9D\u8D56"))throw e;console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let n=(await j.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),r=new L(t);return r.filename=t,r.paths=L._nodeModulePaths(M.dirname(t)),r._compile(n,t),r.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${ie(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function oe(){let t=process.cwd();for(let e of J){let o=M.resolve(t,e);if(j.existsSync(o))try{let n=await ae(o),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 E={entry:"src/pages/**/*.{ts,js}",exclude:[],template:"index.html",placeholder:"{{ENTRY_FILE}}",debug:!1,merge:"all",strategies:{default:{}},pageConfigs:{}};function k(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}}import*as Q from"glob";function le(t){return typeof t=="function"?t:()=>t}function ce(t){return t}function K(t,e,o,n){let r=h.resolve(t,"assets");if(!d.existsSync(r)){n("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let g=d.readdirSync(t).filter(i=>i.endsWith(".html")).map(i=>h.resolve(t,i));if(g.length===0){if(n("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u4F46\u4ECD\u9700\u6E05\u7406assets\u76EE\u5F55"),(e==="strategy"||e==="page")&&d.existsSync(r))try{d.rmSync(r,{recursive:!0,force:!0}),n("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(i){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",i)}return}let f=new Map,c=new Map;g.forEach(i=>{var b;let a=h.basename(i,".html");a.startsWith(".temp.mp.")&&(a=a.replace(".temp.mp.",""));let l=d.readFileSync(i,"utf-8"),y=[],C=/(?:src|href)="\/assets\/([^"]+)"/g,u;for(;(u=C.exec(l))!==null;){let w=u[1];y.push(w),c.has(w)||c.set(w,[]),(b=c.get(w))==null||b.push(a)}let x="";e==="strategy"?x="default":e==="page"&&(x=a);let v=h.resolve(t,x);f.set(a,{assets:y,targetDir:v}),n(`\u9875\u9762 ${a} \u4F9D\u8D56\u8D44\u6E90:`,y)}),n("\u7B2C\u4E00\u9636\u6BB5\u8865\u5145\uFF1A\u5206\u6790public\u76EE\u5F55\u8D44\u6E90");let s=new Set,p=h.resolve(process.cwd(),"public");if(d.existsSync(p)){let i=Q.sync("**/*",{cwd:p,nodir:!0});for(let a of i)s.add(a),n(`\u53D1\u73B0public\u8D44\u6E90: ${a}`)}c.forEach((i,a)=>{i.length>1?n(`\u5171\u4EAB\u8D44\u6E90 ${a} \u88AB\u9875\u9762\u4F7F\u7528:`,i):n(`\u72EC\u5360\u8D44\u6E90 ${a} \u4EC5\u88AB\u9875\u9762 ${i[0]} \u4F7F\u7528`)}),f.forEach(({assets:i,targetDir:a},l)=>{let y=h.resolve(a,"assets");d.existsSync(y)||d.mkdirSync(y,{recursive:!0}),i.forEach(C=>{let u=h.resolve(r,C),x=h.resolve(y,C);d.existsSync(u)?(d.copyFileSync(u,x),n(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${l}: assets/${C} -> ${h.relative(t,x)}`)):n(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${u}`)})}),n("\u7B2C\u4E09\u9636\u6BB5\u8865\u5145\uFF1A\u5904\u7406public\u76EE\u5F55\u8D44\u6E90");let m=new Set;f.forEach(({targetDir:i})=>{m.add(i)});for(let i of m)for(let a of s){let l=h.resolve(t,a),y=h.resolve(i,a);if(d.existsSync(l)){let C=h.dirname(y);d.existsSync(C)||d.mkdirSync(C,{recursive:!0}),d.copyFileSync(l,y),n(`\u590D\u5236public\u8D44\u6E90: ${a} -> ${h.relative(t,y)}`)}}if(f.forEach(({targetDir:i},a)=>{let l=h.resolve(t,`${a}.html`),y=a;if(d.existsSync(l)||(l=h.resolve(t,`.temp.mp.${a}.html`),d.existsSync(l)&&(y=a)),d.existsSync(l)){let C=d.readFileSync(l,"utf-8");C=C.replace(/(?:src|href)="\/assets\//g,v=>v.replace("/assets/","./assets/"));let u;e==="strategy"?u=h.resolve(i,`${y}.html`):e==="page"?u=h.resolve(i,"index.html"):u=l,d.writeFileSync(u,C),u!==l&&d.unlinkSync(l);let x=h.relative(t,u);n(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${y}.html -> ${x}`)}else n(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${a}.html \u6216 .temp.mp.${a}.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(i){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",i)}else{c.forEach((a,l)=>{let y=h.resolve(r,l);d.existsSync(y)&&(d.unlinkSync(y),n(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${l}`))});let i=d.readdirSync(r);i.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:",i)}(e==="strategy"||e==="page")&&s.size>0&&(n("\u7B2C\u4E94\u9636\u6BB5\u8865\u5145\uFF1A\u6E05\u7406\u6839\u76EE\u5F55\u7684public\u8D44\u6E90"),s.forEach(i=>{let a=h.resolve(t,i);if(d.existsSync(a))try{d.unlinkSync(a),n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90: ${i}`)}catch(l){n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90\u5931\u8D25: ${i}`,l)}}),s.forEach(i=>{let a=h.resolve(t,i),l=h.dirname(a);for(;l!==t&&l!==h.dirname(l);)try{if(d.existsSync(l)&&d.readdirSync(l).length===0)d.rmdirSync(l),n(`\u5220\u9664\u7A7A\u76EE\u5F55: ${h.relative(t,l)}`),l=h.dirname(l);else break}catch{break}}))}function pe(t){let e,o=[],n=()=>{};return{name:"vite-multi-page",async configResolved(r){let g=null;W()&&(g=await G({mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}));let f=k(g);e=t?t(f,{mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}):f,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},n("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(r,{command:g}){var f;if(g==="serve"){let c=process.argv,s=c.find(p=>p.startsWith("--strategy="));if(s){let p=s.split("=")[1];p&&(process.env.VITE_MULTI_PAGE_STRATEGY=p)}else{let p=c.findIndex(m=>m==="--strategy");if(p!==-1&&p+1<c.length){let m=c[p+1];process.env.VITE_MULTI_PAGE_STRATEGY=m}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(g==="build"){if(!e){let m=null;W()&&(m=await G({mode:"production",command:"build",isCLI:!1}));let i=k(m);e=t?t(i,{mode:"production",command:"build",isCLI:!1}):i,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}n("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let c=process.env.VITE_MULTI_PAGE_STRATEGY,s=B({entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",merge:e.merge||"all",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},forceBuildStrategy:c}),p=Object.keys(s)[0];if(p&&s[p]){n(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${p}`);let m=s[p],i=ge(r,m);Object.assign(r,i),n(`\u5DF2\u5E94\u7528\u7B56\u7565 "${p}" \u7684\u914D\u7F6E:`,{build:!!m.build,define:!!m.define,plugins:((f=m.plugins)==null?void 0:f.length)||0})}else throw n("\u672A\u627E\u5230\u53EF\u7528\u7684\u6784\u5EFA\u7B56\u7565\uFF0C\u4F7F\u7528\u9ED8\u8BA4\u914D\u7F6E"),new Error(`\u274C \u6784\u5EFA\u5931\u8D25: \u672A\u627E\u5230\u4EFB\u4F55\u6784\u5EFA\u7B56\u7565
104
+ `),new Error(`\u9700\u8981 esbuild \u4F9D\u8D56\u6765\u5904\u7406 TypeScript \u914D\u7F6E\u6587\u4EF6: ${M.basename(t)}`)}let n=await c.transform(e,{loader:"ts",format:"cjs",target:"node16",sourcemap:!1}),r=new A(t);return r.filename=t,r.paths=A._nodeModulePaths(M.dirname(t)),r._compile(n.code,t),r.exports}catch(e){if(e instanceof Error&&e.message.includes("\u9700\u8981 esbuild \u4F9D\u8D56"))throw e;console.warn("esbuild \u8F6C\u8BD1\u5931\u8D25\uFF0C\u5C1D\u8BD5\u7B80\u5355\u8F6C\u6362:",e);let n=(await j.promises.readFile(t,"utf-8")).replace(/export\s+default\s+/,"module.exports = ").replace(/import\s+.*?from\s+['"][^'"]*['"];?\s*/g,"").replace(/:\s*[^=,})\]]+/g,""),r=new A(t);return r.filename=t,r.paths=A._nodeModulePaths(M.dirname(t)),r._compile(n,t),r.exports}if(t.endsWith(".js")||t.endsWith(".mjs"))return import(`${ie(t).href}?t=${Date.now()}`);throw new Error(`\u4E0D\u652F\u6301\u7684\u914D\u7F6E\u6587\u4EF6\u7C7B\u578B: ${t}`)}async function oe(){let t=process.cwd();for(let e of J){let c=M.resolve(t,e);if(j.existsSync(c))try{let n=await ae(c),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 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}}import*as Q from"glob";function le(t){return typeof t=="function"?t:()=>t}function ce(t){return t}function K(t,e,c,n){let r=C.resolve(t,"assets");if(!u.existsSync(r)){n("assets\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7\u91CD\u7EC4");return}let g=u.readdirSync(t).filter(a=>a.endsWith(".html")).map(a=>C.resolve(t,a));if(g.length===0){if(n("\u672A\u627E\u5230HTML\u6587\u4EF6\uFF0C\u4F46\u4ECD\u9700\u6E05\u7406assets\u76EE\u5F55"),(e==="strategy"||e==="page")&&u.existsSync(r))try{u.rmSync(r,{recursive:!0,force:!0}),n("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(a){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",a)}return}let d=new Map,p=new Map;g.forEach(a=>{var b;let l=C.basename(a,".html");l.startsWith(".temp.mp.")&&(l=l.replace(".temp.mp.",""));let s=u.readFileSync(a,"utf-8"),o=[],x=/(?:src|href)="\/assets\/([^"]+)"/g,f;for(;(f=x.exec(s))!==null;){let $=f[1];o.push($),p.has($)||p.set($,[]),(b=p.get($))==null||b.push(l)}let y="";e==="strategy"?y="default":e==="page"&&(y=l);let v=C.resolve(t,y);d.set(l,{assets:o,targetDir:v}),n(`\u9875\u9762 ${l} \u4F9D\u8D56\u8D44\u6E90:`,o)}),n("\u7B2C\u4E00\u9636\u6BB5\u8865\u5145\uFF1A\u5206\u6790public\u76EE\u5F55\u8D44\u6E90");let i=new Set,m=C.resolve(process.cwd(),"public");if(u.existsSync(m)){let a=Q.sync("**/*",{cwd:m,nodir:!0});for(let l of a)i.add(l),n(`\u53D1\u73B0public\u8D44\u6E90: ${l}`)}p.forEach((a,l)=>{a.length>1?n(`\u5171\u4EAB\u8D44\u6E90 ${l} \u88AB\u9875\u9762\u4F7F\u7528:`,a):n(`\u72EC\u5360\u8D44\u6E90 ${l} \u4EC5\u88AB\u9875\u9762 ${a[0]} \u4F7F\u7528`)}),d.forEach(({assets:a,targetDir:l},s)=>{let o=C.resolve(l,"assets");if(u.existsSync(o)||u.mkdirSync(o,{recursive:!0}),a.forEach(x=>{let f=C.resolve(r,x),y=C.resolve(o,x);u.existsSync(f)?(u.copyFileSync(f,y),n(`\u590D\u5236\u8D44\u6E90\u6587\u4EF6\u5230 ${s}: assets/${x} -> ${C.relative(t,y)}`)):n(`\u8B66\u544A: \u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728: ${f}`)}),u.existsSync(r)){let x=u.readdirSync(r),f=`mp${s}-`;x.filter(v=>v.startsWith(f)).forEach(v=>{if(!a.includes(v)){let b=C.resolve(r,v),$=C.resolve(o,v);u.existsSync(b)&&(u.copyFileSync(b,$),n(`\u590D\u5236\u524D\u7F00\u5339\u914D\u7684\u8D44\u6E90\u6587\u4EF6\u5230 ${s}: assets/${v} -> ${C.relative(t,$)}`))}})}}),n("\u7B2C\u4E09\u9636\u6BB5\u8865\u5145\uFF1A\u5904\u7406public\u76EE\u5F55\u8D44\u6E90");let h=new Set;d.forEach(({targetDir:a})=>{h.add(a)});for(let a of h)for(let l of i){let s=C.resolve(t,l),o=C.resolve(a,l);if(u.existsSync(s)){let x=C.dirname(o);u.existsSync(x)||u.mkdirSync(x,{recursive:!0}),u.copyFileSync(s,o),n(`\u590D\u5236public\u8D44\u6E90: ${l} -> ${C.relative(t,o)}`)}}if(d.forEach(({targetDir:a},l)=>{let s=C.resolve(t,`${l}.html`),o=l;if(u.existsSync(s)||(s=C.resolve(t,`.temp.mp.${l}.html`),u.existsSync(s)&&(o=l)),u.existsSync(s)){let x=u.readFileSync(s,"utf-8");x=x.replace(/(?:src|href)="\/assets\//g,v=>v.replace("/assets/","./assets/"));let f;e==="strategy"?f=C.resolve(a,`${o}.html`):e==="page"?f=C.resolve(a,"index.html"):f=s,u.writeFileSync(f,x),f!==s&&u.unlinkSync(s);let y=C.relative(t,f);n(`\u6309${e}\u5206\u7EC4\u79FB\u52A8HTML\u6587\u4EF6: ${o}.html -> ${y}`)}else n(`\u8B66\u544A: \u672A\u627E\u5230HTML\u6587\u4EF6: ${l}.html \u6216 .temp.mp.${l}.html`)}),u.existsSync(r))if(e==="strategy"||e==="page")try{u.rmSync(r,{recursive:!0,force:!0}),n("\u5F3A\u5236\u6E05\u7406\u6574\u4E2A\u6839\u76EE\u5F55assets\u76EE\u5F55 (strategy/page\u6A21\u5F0F)")}catch(a){n("\u6E05\u7406\u6839\u76EE\u5F55assets\u5931\u8D25:",a)}else{p.forEach((l,s)=>{let o=C.resolve(r,s);u.existsSync(o)&&(u.unlinkSync(o),n(`\u6E05\u7406\u539F\u59CB\u8D44\u6E90\u6587\u4EF6: assets/${s}`))});let a=u.readdirSync(r);a.length===0?(u.rmdirSync(r),n("\u6E05\u7406\u7A7A\u7684assets\u76EE\u5F55")):n("assets\u76EE\u5F55\u4E2D\u8FD8\u6709\u672A\u5904\u7406\u7684\u6587\u4EF6:",a)}(e==="strategy"||e==="page")&&i.size>0&&(n("\u7B2C\u4E94\u9636\u6BB5\u8865\u5145\uFF1A\u6E05\u7406\u6839\u76EE\u5F55\u7684public\u8D44\u6E90"),i.forEach(a=>{let l=C.resolve(t,a);if(u.existsSync(l))try{u.unlinkSync(l),n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90: ${a}`)}catch(s){n(`\u5220\u9664\u6839\u76EE\u5F55public\u8D44\u6E90\u5931\u8D25: ${a}`,s)}}),i.forEach(a=>{let l=C.resolve(t,a),s=C.dirname(l);for(;s!==t&&s!==C.dirname(s);)try{if(u.existsSync(s)&&u.readdirSync(s).length===0)u.rmdirSync(s),n(`\u5220\u9664\u7A7A\u76EE\u5F55: ${C.relative(t,s)}`),s=C.dirname(s);else break}catch{break}}))}function pe(t){let e,c=[],n=()=>{};return{name:"vite-multi-page",async configResolved(r){let g=null;k()&&(g=await G({mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}));let d=U(g);e=t?t(d,{mode:r.command==="serve"?"development":"production",command:r.command,isCLI:!1}):d,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{},n("Vite\u914D\u7F6E\u5DF2\u89E3\u6790, \u4F7F\u7528\u914D\u7F6E:",{strategies:Object.keys(e.strategies||{}),entry:e.entry})},async config(r,{command:g}){var d;if(g==="serve"){let p=process.argv,i=p.find(m=>m.startsWith("--strategy="));if(i){let m=i.split("=")[1];m&&(process.env.VITE_MULTI_PAGE_STRATEGY=m)}else{let m=p.findIndex(h=>h==="--strategy");if(m!==-1&&m+1<p.length){let h=p[m+1];process.env.VITE_MULTI_PAGE_STRATEGY=h}}process.env.VITE_MULTI_PAGE_STRATEGY||(process.env.VITE_MULTI_PAGE_STRATEGY="default")}if(g==="build"){if(!e){let h=null;k()&&(h=await G({mode:"production",command:"build",isCLI:!1}));let a=U(h);e=t?t(a,{mode:"production",command:"build",isCLI:!1}):a,n=e.debug??!1?console.log.bind(console,"[vite-multi-page]"):()=>{}}n("\u914D\u7F6E\u6784\u5EFA\u6A21\u5F0F");let p=process.env.VITE_MULTI_PAGE_STRATEGY,i=B({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}),m=Object.keys(i)[0];if(m&&i[m]){n(`\u5E94\u7528\u6784\u5EFA\u7B56\u7565: ${m}`);let h=i[m],a=fe(r,h);Object.assign(r,a),n(`\u5DF2\u5E94\u7528\u7B56\u7565 "${m}" \u7684\u914D\u7F6E:`,{build:!!h.build,define:!!h.define,plugins:((d=h.plugins)==null?void 0:d.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(r){if(r.config.command==="serve"){n("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let g=process.env.VITE_MULTI_PAGE_STRATEGY||"default";n(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${g}`),Y(r,{entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},devStrategy:g},n)}},writeBundle(r){if(!(e!=null&&e.merge)||e.merge==="all")return;let g=r.dir||"dist",f=e.merge;n(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${f}`);try{K(g,f,e,n)}catch(c){throw n("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",c),c}},buildEnd(){o.length>0&&(n(`\u6E05\u7406 ${o.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),o.forEach(r=>{try{d.existsSync(r)&&(d.unlinkSync(r),n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${r}`))}catch(g){n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${r}`,g)}}),o.length=0)}}}function Ge(t,e,o,n){return K(t,e,o,n)}var He=pe;export{re as cleanViteOutputDirectory,He as default,le as defineConfig,ce as defineConfigTransform,B as generateBuildConfig,se as getAvailableStrategies,q as getViteOutputDirectory,k as mergeWithDefaults,Ge as reorganizeAssetsInCLI,pe as viteMultiPage};
119
+ });`)}},configureServer(r){if(r.config.command==="serve"){n("\u914D\u7F6E\u5F00\u53D1\u670D\u52A1\u5668");let g=process.env.VITE_MULTI_PAGE_STRATEGY||"default";n(`\u5F00\u53D1\u6A21\u5F0F\u7B56\u7565: ${g}`),Y(r,{entry:e.entry||"src/pages/**/*.{ts,js}",exclude:e.exclude||[],template:e.template||"index.html",placeholder:e.placeholder||"{{ENTRY_FILE}}",strategies:e.strategies||{},pageConfigs:e.pageConfigs||{},devStrategy:g},n)}},writeBundle(r){if(!(e!=null&&e.merge)||e.merge==="all")return;let g=r.dir||"dist",d=e.merge;n(`\u5E94\u7528\u6784\u5EFA\u4EA7\u7269\u5408\u5E76\u6A21\u5F0F: ${d}`);try{K(g,d,e,n)}catch(p){throw n("\u8D44\u6E90\u91CD\u7EC4\u5931\u8D25:",p),p}},buildEnd(){c.length>0&&(n(`\u6E05\u7406 ${c.length} \u4E2A\u4E34\u65F6\u6587\u4EF6`),c.forEach(r=>{try{u.existsSync(r)&&(u.unlinkSync(r),n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6: ${r}`))}catch(g){n(`\u5220\u9664\u4E34\u65F6\u6587\u4EF6\u5931\u8D25: ${r}`,g)}}),c.length=0)}}}function Ge(t,e,c,n){return K(t,e,c,n)}var He=pe;export{ne as cleanViteOutputDirectory,He as default,le as defineConfig,ce as defineConfigTransform,B as generateBuildConfig,re as getAvailableStrategies,q as getViteOutputDirectory,U as mergeWithDefaults,Ge as reorganizeAssetsInCLI,pe as viteMultiPage};
120
120
  //# sourceMappingURL=index.mjs.map