vite.config.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { defineConfig } from "vite";
  2. import { ViteMinifyPlugin } from 'vite-plugin-minify'
  3. import { dirname } from 'path'
  4. import { viteStaticCopy } from 'vite-plugin-static-copy';
  5. const projectRoot = dirname(import.meta.filename);
  6. const paths = {
  7. src: `${projectRoot}/src`,
  8. assets: `${projectRoot}/public/assets`
  9. }
  10. export default defineConfig({
  11. root: './src',
  12. base: '/',
  13. resolve: {
  14. alias: {
  15. '@': paths.src, // Alias para acceder a la carpeta src
  16. '@assets': paths.assets, // Alias para acceder a los assets
  17. },
  18. },
  19. build: {
  20. outDir: '../dist',
  21. minify: "esbuild",
  22. emptyOutDir: true,
  23. build: {
  24. rollupOptions: {
  25. output: {
  26. assetFileNames: (assetInfo) => {
  27. if (assetInfo.name.endsWith('.css')) return 'assets/[name][extname]';
  28. },
  29. },
  30. },
  31. }
  32. },
  33. plugins: [
  34. ViteMinifyPlugin({}),
  35. viteStaticCopy({
  36. targets: [
  37. {
  38. src: `${paths.src}/assets/img/jobs/**/`, // Ruta de origen
  39. dest: 'assets/img/jobs' // Carpeta de destino dentro de dist
  40. }
  41. ]
  42. })
  43. ],
  44. });