vite.config.ts 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig, loadEnv } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import AutoImport from 'unplugin-auto-import/vite'
  5. import Components from 'unplugin-vue-components/vite'
  6. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  7. // https://vite.dev/config/
  8. export default defineConfig(({ command, mode }) => {
  9. console.log(command, mode)
  10. const env = loadEnv(mode, process.cwd(), '')
  11. console.log(env.NODE_ENV)
  12. return {
  13. /* 共享 */
  14. // 根目录
  15. // root:''
  16. // 基础
  17. // base:'',
  18. base: `/${env.VITE_BASE_URL}`,
  19. // 模式 development,production
  20. // mode:'',
  21. // 定义全局常量
  22. // define:{},
  23. // 插件
  24. plugins: [
  25. vue(),
  26. AutoImport({
  27. resolvers: [ElementPlusResolver()],
  28. }),
  29. Components({
  30. resolvers: [ElementPlusResolver()],
  31. }),
  32. ],
  33. // 普通静态资产,此目录中的文件在dev期间提供,并在build中复制到根目录,并且时钟按原样提供或复制,不进行转换 string,false
  34. // publicDir: false,
  35. //保存缓存文件,
  36. // cacheDir: '',
  37. /* 服务器 */
  38. server: {
  39. // 服务器主机,侦听ip地址
  40. host: '0.0.0.0',
  41. // 服务器端口
  42. port: 8001,
  43. // 端口已在使用中,設置為exit,不尝试下一个可用端口
  44. // strictPort:false,
  45. // 启用安全证书,@vitejs/plugin-basic-ssl ,可以自己创建并缓存签名证书,可以创建自己的证书
  46. // https:{},
  47. // 在服务器启动时自动在浏览器中打开应用程序。当值为字符串时,它将用作 URL 的路径名。如果你想在你喜欢的特定浏览器中打开服务器
  48. // open:''
  49. // 服务器
  50. proxy: {
  51. [env.VITE_REQUEST_BASE]: {
  52. target: 'http://127.0.0.1:9000',
  53. ws: false,
  54. changeOrigin: true,
  55. // rewrite: (path) => path.replace(new RegExp(`^/api`), ''),
  56. },
  57. },
  58. // 为开发服务器配置 CORS。默认情况下,此选项处于启用状态,并允许任何源。
  59. // cors:false,
  60. // 指定服务器响应标头
  61. // headers:'',
  62. },
  63. /* 构建选项 */
  64. build: {
  65. outDir: env.VITE_BASE_URL
  66. // 最终捆绑包的浏览器兼容性目标。默认值是 Vite 特殊值
  67. // target:'',
  68. // 预加载
  69. // module:'',
  70. // 是否自动注入模块预加载polyfill
  71. // polyfillModule:false,
  72. // 指定输出目录
  73. // outDir:'',
  74. // 指定要将生产厂的资产签到在
  75. // assets: '',
  76. // 小于此阈值的导入或引用的资源将被内联为 base64 URL,以避免额外的 http 请求。设置为 可完全禁用内联。
  77. // assetsInlineLimit:0,
  78. // 启用/禁用 CSS 代码拆分。启用后,在异步 JS 块中导入的 CSS 将保留为块,并在提取块时一起提取。
  79. // cssCodeSplit:false,
  80. // 此选项允许用户为 CSS 缩小设置与用于 JavaScript 转译的目标不同的浏览器目标
  81. // cssTarget:'',
  82. // 此选项允许用户专门覆盖 CSS 缩小,而不是默认为 ,因此您可以分别为 JS 和 CSS 配置缩小
  83. // cssMinify:false,
  84. // 生成生产源映射。如果 ,将创建一个单独的 sourcemap 文件。如果 ,则 sourcemap 将作为数据 URI 附加到生成的输出文件中。 除了捆绑文件中相应的 SourceMap 注释被禁止显示之外,其工作方式与此类似
  85. // source:false,
  86. // 直接自定义底层 Rollup bundle。这与可以从 Rollup 配置文件导出的选项相同,并且将与 Vite 的内部 Rollup 选项合并
  87. // rollup:{},
  88. },
  89. resolve: {
  90. alias: {
  91. '@': fileURLToPath(new URL('./src', import.meta.url)),
  92. },
  93. },
  94. }
  95. })