{"id":26594,"library":"vite-plugin-multi-pages","title":"vite-plugin-multi-pages","description":"A Vite plugin for building multi-page applications (MPA) supporting Vue 2/3, React, and other frameworks. Version 0.0.14 (latest) with active development. Scans a directory (default src/views) for entry files and generates HTML pages for each. Differentiators: simple zero-config setup, supports custom scan options, rewrite rules, and page filtering. Integrates with companion plugins for HTML templates and vconsole. Requires Vite >=2.0.0 and TypeScript >=4.0.0.","status":"active","version":"0.0.14","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/Miofly/vite-plugin-multi-pages","tags":["javascript","vite-plugin","mpa","MPA","multi-page","typescript"],"install":[{"cmd":"npm install vite-plugin-multi-pages","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-multi-pages","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-multi-pages","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for plugin integration","package":"vite","optional":false},{"reason":"peer dependency for type support","package":"typescript","optional":true}],"imports":[{"note":"Default import; plugin is ESM-only, CommonJS require will fail.","wrong":"const mpa = require('vite-plugin-multi-pages')","symbol":"mpa","correct":"import mpa from 'vite-plugin-multi-pages'"},{"note":"Type import, not a value. Use 'import type' to avoid runtime errors.","wrong":"import { MpaOptions } from 'vite-plugin-multi-pages'","symbol":"MpaOptions","correct":"import type { MpaOptions } from 'vite-plugin-multi-pages'"},{"note":"Type export for rewrite rules.","wrong":null,"symbol":"Rewrite","correct":"import type { Rewrite } from 'vite-plugin-multi-pages'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport mpa from 'vite-plugin-multi-pages';\n\nexport default defineConfig({\n  plugins: [\n    mpa({\n      scanDir: 'src/views',\n      scanFile: 'main.{js,ts,jsx,tsx}',\n      filename: 'index.html',\n      defaultOpenPage: true,\n    }),\n  ],\n});","lang":"typescript","description":"Shows basic configuration of vite-plugin-multi-pages with custom scan directory and default open page."},"warnings":[{"fix":"Ensure Vite and TypeScript meet minimum version requirements.","message":"Plugin requires Vite >=2.0.0 and TypeScript >=4.0.0; older versions will cause build failures.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Set scanFile option to match your entry file pattern, e.g., 'index.{js,ts}'.","message":"scanFile default is 'main.{js,ts,jsx,tsx}'; if your entry files have different names, you must specify scanFile explicitly.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Include @vitejs/plugin-react or similar in vite.config.ts before mpa() plugin.","message":"For React projects, ensure JSX/TSX files are processed by the appropriate Vite React plugin; otherwise, the plugin may not detect entry files correctly.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install vite-plugin-multi-pages` and verify the import path matches 'vite-plugin-multi-pages'.","cause":"Package not installed or incorrect import path.","error":"Cannot find module 'vite-plugin-multi-pages'"},{"fix":"Use `import mpa from 'vite-plugin-multi-pages'` and ensure your project uses ESM (type: module in package.json or .mjs config).","cause":"Using CommonJS require() instead of ESM import.","error":"TypeError: mpa is not a function"},{"fix":"Check that your entry files exist and match the scanFile pattern; adjust scanDir or scanFile accordingly.","cause":"The scanDir option points to a directory without matching scanFile (default 'main.{js,ts,jsx,tsx}').","error":"Error: No entry files found in /path/to/src/views"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}