vite.config.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. '/service':{
  30. target: 'https://www.4dkankan.com',
  31. changeOrigin: true,
  32. rewrite: path => path.replace(/^\/spg/, ''),
  33. secure: false
  34. },
  35. '/spg': {
  36. target: 'https://www.4dkankan.com',
  37. changeOrigin: true,
  38. rewrite: path => path.replace(/^\/spg/, '/spg'),
  39. secure: false
  40. }
  41. }
  42. const input: { [key in string]: string } = {}
  43. if (process.argv.includes('lang')) {
  44. await createLangServer(langProt)
  45. input.lang = resolve(__dirname, 'lang.html')
  46. } else {
  47. input.main = resolve(__dirname, 'index.html')
  48. }
  49. console.log(input)
  50. return defineConfig({
  51. build: {
  52. rollupOptions: {
  53. input
  54. }
  55. },
  56. base: './',
  57. plugins: [
  58. vue(),
  59. DefineOptions(),
  60. ViteComponents({
  61. resolvers: [
  62. AntDesignVueResolver({ resolveIcons: true, importStyle: 'less' })
  63. ],
  64. dts: 'src/components.d.ts'
  65. })
  66. ],
  67. css: {
  68. preprocessorOptions: {
  69. less: {
  70. javascriptEnabled: true,
  71. modifyVars: {
  72. 'primary-color': '#0076F6',
  73. 'link-color': '#0076F6',
  74. 'border-radius-base': '2px'
  75. }
  76. }
  77. }
  78. },
  79. resolve: {
  80. alias: [
  81. {
  82. find: '@',
  83. replacement: resolve(__dirname, './src')
  84. }
  85. ]
  86. },
  87. server: {
  88. host: '0.0.0.0',
  89. port: 5176,
  90. open: true,
  91. proxy: proxy
  92. }
  93. })
  94. }