Vite plugin that enables Webpack-style magic comments (/* vitePrefetch: true */, /* vitePreload: true */) for dynamic imports, allowing fine-grained control over preloading and prefetching of resources. Current stable version: 1.2.1. Released: December 2021, with recent updates adding attrs support (functions accepted in v1.1.1). Only works within import() statements; does not affect static imports. Key differentiator: provides magic comments missing from Rollup/Vite, targeting Vue and React lazy-loaded routes. Ships TypeScript types. Requires Vite >= 2.0.0 as peer dependency.
npm install vite-plugin-magic-preloaderVerified import paths — ran on the pinned version, not inferred.
Shows basic setup with Vue plugin ordering and usage of magic comments in dynamic imports.
Use dynamic import() syntax with magic comments for lazy-loaded modules.
Order plugins: [vue(), magicPreloader()].
Ensure Vue files are processed by vue() before magicPreloader, or extend include to cover .vue if needed (may require additional parser).
Override attrs option: magicPreloader({ attrs: { crossorigin: false } })Change plugins: [magicPreloader] to plugins: [magicPreloader()]
Install the package: npm install vite-plugin-magic-preloader -D; ensure tsconfig includes 'node_modules/@types'
Use string, RegExp, or array: magicPreloader({ include: /src\/.*\.ts$/ })