vite.config.ts 1.3 KB

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