Quiero crear varias bibliotecas por vite, así que primero pruebo "rollupOptions". Me gusta,
import { defineConfig } from 'vite' export default defineConfig({ build: { rollupOptions: { input: { "qy-viewer": 'src/qy-viewer.ts', "qy-swiper": 'src/qy-swiper.ts' } } } }) Pero esto crea resultados divertidos que incluyen una cadena similar a un hash, como qy-swiper.f3fc032d.js .
Esto es inútil, así que renuncié a este enfoque.
A continuación, intento preparar varios archivos de configuración de vite. Me gusta,
vite.qy-swiper.config.ts
import { defineConfig } from 'vite' export default defineConfig({ build: { lib: { entry: 'src/qy-swiper.ts', name: 'QySwiper', fileName: (format) => `qy-swiper.${format}.js` }, rollupOptions: { } } })vite.qy-viewer.config.ts
import { defineConfig } from 'vite' export default defineConfig({ build: { lib: { entry: 'src/qy-viewer.ts', name: 'QyViewer', fileName: (format) => `qy-viewer.${format}.js` }, rollupOptions: { } } })paquete.json
{ "scripts": { "build:swiper": "tsc && vite build --config vite.qy-swiper.config.ts", "build:viewer": "tsc && vite build --config vite.qy-viewer.config.ts", "build:lib": "npm run build:swiper && npm run build:viewer" }, } Esto funciona muy bien cuando ejecuto npm run build:swiper o npm run build:viewer de forma independiente, pero una vez que ejecuto npm run build:lib , solo se crea qy-viewer.
¿Hay alguna forma de evitar la eliminación de archivos en el directorio dist por vite build ?
Establezca build.emptyOutDir en false :
import { defineConfig } from 'vite' export default defineConfig({ build: { emptyOutDir: false, }, ⋮ })