emosheeep / vite-plugin-virtual-mpa

Out-of-box MPA plugin for Vite, generate multiple entries using only one template.
https://stackblitz.com/~/github.com/emosheeep/vite-plugin-virtual-mpa
MIT License
113 stars 15 forks source link

优化内置 rewrites 规则 #52

Closed jiadesen closed 10 months ago

jiadesen commented 10 months ago

对于 example 如下 pages 配置:

const pages = createPages([
  ...
  {
    name: 'home',
    filename: 'fruits/home.html',
    entry: '/src/pages/home/index.js',
    data: {
      title: 'This is Home page',
    },
  },
  {
    name: 'home2',
    filename: 'fruits/home2.html',
    entry: '/src/pages/home2/index.js',
    data: {
      title: 'This is Home2 page',
    },
  },
]);

生成如下内置入口拦截规则

/\/(apple|banana|strawberries|home|home2)/

会产生如下问题: 访问 home2 入口时始终重定向到 home 入口,问题原因如下图

image

jiadesen commented 10 months ago

Object.keys(inputMap) 按字符 length 由大到小排序后生成的拦截规则如下:

/\/(strawberries|banana|apple|home2|home)/

内置 rewrites 符合预期:

image

emosheeep commented 10 months ago

1.9.3 发了,可以试下,关了