vite.config.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { defineConfig, loadEnv } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import path from "path";
  4. import Components from "unplugin-vue-components/vite";
  5. import { VantResolver } from "unplugin-vue-components/resolvers";
  6. import VueSetupExtend from 'vite-plugin-vue-setup-extend'
  7. import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'
  8. // https://vitejs.dev/config/
  9. export default ({ mode }) =>
  10. defineConfig({
  11. base: loadEnv(mode, process.cwd()).VITE_APP_BASE_URL, // 若服务器不是将该项目放在根目录的则 需要此设置 和服务器上同名
  12. plugins: [
  13. vue(),
  14. Components({
  15. resolvers: [VantResolver()],
  16. }),
  17. VueSetupExtend(),
  18. createSvgIconsPlugin({
  19. // 指定需要缓存的图标文件夹
  20. iconDirs: [path.resolve(process.cwd(), 'src/assets/svg')],
  21. // 指定symbolId格式
  22. symbolId: '[name]',
  23. /**
  24. * 自定义插入位置
  25. * @default: body-last
  26. */
  27. // inject?: 'body-last' | 'body-first'
  28. /**
  29. * custom dom id
  30. * @default: __svg__icons__dom__
  31. */
  32. // customDomId: '__svg__icons__dom__'
  33. })
  34. ],
  35. css: {
  36. // css预处理器
  37. preprocessorOptions: {
  38. scss: {
  39. // 定义全局的scss变量
  40. // 给导入的路径最后加上 ;
  41. additionalData: `@import '@/assets/styles/var.scss';`,
  42. },
  43. },
  44. },
  45. resolve: {
  46. alias: {
  47. "@": path.resolve(__dirname, "./src"),
  48. }
  49. },
  50. build: {
  51. outDir: loadEnv(mode, process.cwd()).VITE_APP_OUTDIR,
  52. },
  53. server:{
  54. host:true
  55. }
  56. });