vite.config.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import { defineConfig, loadEnv } from 'vite'
  2. import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
  3. import vue from '@vitejs/plugin-vue'
  4. import ViteComponents from 'unplugin-vue-components/vite'
  5. import DefineOptions from 'unplugin-vue-define-options/vite'
  6. import { createServer as createLangServer } from './scripts/lang'
  7. import { resolve } from 'path'
  8. // https://vitejs.dev/config/
  9. export default async ({ mode }) => {
  10. const env = loadEnv(mode, process.cwd())
  11. const langProt = 9091
  12. const proxy = {
  13. '/dev': {
  14. target: `http://localhost:${langProt}`,
  15. changeOrigin: true,
  16. rewrite: path => path.replace(/^\/dev/, '/dev')
  17. },
  18. '/api': {
  19. target: 'https://test.4dkankan.com',
  20. changeOrigin: true,
  21. rewrite: path => path.replace(/^\/api/, '')
  22. },
  23. '/local': {
  24. target: 'http://192.168.0.152:8111',
  25. changeOrigin: true,
  26. rewrite: path => path.replace(/^\/local/, '')
  27. }
  28. }
  29. const input: { [key in string]: string } = {}
  30. if (process.argv.includes('lang')) {
  31. await createLangServer(langProt)
  32. input.lang = resolve(__dirname, 'lang.html')
  33. } else {
  34. input.main = resolve(__dirname, 'index.html')
  35. }
  36. console.log(input)
  37. return defineConfig({
  38. build: {
  39. rollupOptions: {
  40. input
  41. }
  42. },
  43. base: './',
  44. plugins: [
  45. vue(),
  46. DefineOptions(),
  47. ViteComponents({
  48. resolvers: [
  49. AntDesignVueResolver({ resolveIcons: true, importStyle: 'less' })
  50. ],
  51. dts: 'src/components.d.ts'
  52. })
  53. ],
  54. css: {
  55. preprocessorOptions: {
  56. less: {
  57. javascriptEnabled: true,
  58. modifyVars: {
  59. 'primary-color': '#0076F6',
  60. 'link-color': '#0076F6',
  61. 'border-radius-base': '2px'
  62. }
  63. }
  64. }
  65. },
  66. resolve: {
  67. alias: [
  68. {
  69. find: '@',
  70. replacement: resolve(__dirname, './src')
  71. }
  72. ]
  73. },
  74. server: {
  75. host: '0.0.0.0',
  76. port: 5173,
  77. open: true,
  78. proxy: proxy
  79. }
  80. })
  81. }