vite.config.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { defineConfig } from 'vite';
  2. import vue from '@vitejs/plugin-vue';
  3. import legacy from '@vitejs/plugin-legacy';
  4. import Markdown from 'vite-plugin-md';
  5. import path from 'path';
  6. const resolve = path.resolve;
  7. // https://vitejs.dev/config/
  8. export default defineConfig({
  9. base: '/3x/',
  10. server: {
  11. proxy: {
  12. '/devServer': {
  13. target: 'https://nutui.jd.com',
  14. changeOrigin: true,
  15. rewrite: path => path.replace(/^\/devServer/, '')
  16. }
  17. }
  18. },
  19. resolve: {
  20. alias: [{ find: '@', replacement: resolve(__dirname, './src') }]
  21. },
  22. css: {
  23. preprocessorOptions: {
  24. scss: {
  25. // example : additionalData: `@import "./src/design/styles/variables";`
  26. // dont need include file extend .scss
  27. additionalData: `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";`
  28. }
  29. }
  30. },
  31. plugins: [
  32. vue({
  33. include: [/\.vue$/, /\.md$/]
  34. }),
  35. Markdown(),
  36. legacy({
  37. targets: ['defaults', 'not IE 11']
  38. })
  39. ],
  40. build: {
  41. target: 'es2015',
  42. outDir: './dist/3x/',
  43. cssCodeSplit: false,
  44. rollupOptions: {
  45. input: {
  46. doc: resolve(__dirname, 'index.html'),
  47. mobile: resolve(__dirname, 'demo.html')
  48. }
  49. }
  50. }
  51. });