vite.config.ts 3.7 KB

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