vite.config.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { resolve } from 'path'
  2. import { defineConfig } from 'vite'
  3. import vue2 from '@vitejs/plugin-vue2'
  4. // import { visualizer } from 'rollup-plugin-visualizer'
  5. export default ({ mode }) => {
  6. return defineConfig({
  7. base: mode === 'production' ? '/' : '/',
  8. plugins: [
  9. vue2(),
  10. // visualizer({
  11. // emitFile: true,
  12. // filename: 'stats.html',
  13. // }),
  14. ],
  15. resolve: {
  16. alias: {
  17. '@': resolve(__dirname, 'src'),
  18. },
  19. // 官方文档不建议添加.vue, 这里加上是因为不自动忽略的话, src代码里面要改的地方太多了. https://cn.vitejs.dev/config/shared-options.html#resolve-extensions
  20. extensions: [
  21. '.mjs',
  22. '.js',
  23. '.mts',
  24. '.ts',
  25. '.jsx',
  26. '.tsx',
  27. '.json',
  28. '.vue',
  29. ],
  30. },
  31. css: {
  32. devSourcemap: true,
  33. preprocessorOptions: {
  34. scss: {
  35. additionalData: `@import "/src/styles/variables.scss";`,
  36. },
  37. },
  38. },
  39. server: {
  40. // 是否开启 https
  41. https: false,
  42. // 端口号
  43. port: 9876,
  44. // 监听所有地址
  45. host: '0.0.0.0',
  46. // 服务启动时是否自动打开浏览器. 在docker容器里面dev的话, 最好不要打开, 不然无法启动.
  47. // open: true,
  48. // 允许跨域
  49. cors: true,
  50. // 自定义代理规则
  51. proxy: {
  52. '/api': {
  53. target: 'http://13.55.42.195:10171',
  54. changeOrigin: true,
  55. rewrite: (path) => path.replace(/^\/api/, ''),
  56. },
  57. },
  58. },
  59. build: {
  60. // 设置最终构建的浏览器兼容目标
  61. target: 'es2020',
  62. // 构建后是否生成 source map 文件
  63. sourcemap: mode !== 'production',
  64. // 禁用则将css合并为单文件
  65. cssCodeSplit: false,
  66. // chunk 大小警告的限制(以 kbs 为单位)
  67. chunkSizeWarningLimit: 1000,
  68. // 启用/禁用 gzip 压缩大小报告
  69. reportCompressedSize: mode !== 'production',
  70. rollupOptions: {
  71. output: {
  72. manualChunks: {
  73. element: ['element-ui']
  74. },
  75. },
  76. },
  77. },
  78. })
  79. }