vite.config.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { defineConfig, loadEnv } from 'vite'
  2. import createVitePlugins from './build/vite/plugins'
  3. import { wrapperEnv } from './build/vite/utils'
  4. import { scssResources } from './build/generate/generateStyle'
  5. import path from 'path'
  6. // https://vitejs.dev/config/
  7. export default ({ mode, command }) => {
  8. const env = wrapperEnv(loadEnv(mode, process.cwd()))
  9. return defineConfig({
  10. base: '/background/',
  11. // 开发服务器选项 https://cn.vitejs.dev/config/#server-options
  12. server: {
  13. host: true,
  14. hmr: { overlay: false },
  15. proxy: {
  16. '/proxy': {
  17. target: env.VITE_APP_API_BASEURL,
  18. changeOrigin: command === 'serve' && env.VITE_OPEN_PROXY,
  19. rewrite: (path) => path.replace(/\/proxy/, '')
  20. }
  21. }
  22. },
  23. // 构建选项 https://cn.vitejs.dev/config/#server-fsserve-root
  24. build: {
  25. outDir: mode == 'production' ? 'dist' : `dist-${mode}`,
  26. sourcemap: env.VITE_BUILD_SOURCEMAP,
  27. minify: true
  28. },
  29. plugins: createVitePlugins(env, command === 'build'),
  30. resolve: {
  31. alias: {
  32. '@': path.resolve(__dirname, 'src'),
  33. assets: path.resolve(__dirname, 'src/assets'),
  34. util: path.resolve(__dirname, 'src/util'),
  35. views: path.resolve(__dirname, 'src/views'),
  36. layout: path.resolve(__dirname, 'src/layout'),
  37. settings: path.resolve(__dirname, 'src/settings/settings')
  38. }
  39. },
  40. css: {
  41. preprocessorOptions: {
  42. scss: {
  43. additionalData: scssResources.join('')
  44. }
  45. }
  46. },
  47. define: {
  48. __DEV__: mode === 'development',
  49. __TEST__: mode === 'test',
  50. __VUE_I18N_FULL_INSTALL__: true,
  51. __VUE_I18N_LEGACY_API__: true,
  52. __INTLIFY_PROD_DEVTOOLS__: false
  53. }
  54. })
  55. }