vite.config.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import {defineConfig, loadEnv} from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import legacy from '@vitejs/plugin-legacy'
  4. import VueSetupExtend from 'vite-plugin-vue-setup-extend'
  5. import AutoImport from 'unplugin-auto-import/vite';
  6. import { injectHtml } from "vite-plugin-html";
  7. const {resolve} = require('path')
  8. // https://vitejs.dev/config/
  9. export default defineConfig(mode => {
  10. const env = loadEnv(mode.mode, process.cwd());
  11. return {
  12. // path 上下文 -- 这个值也可以在命令行来指定: vite build --base=/xxx/
  13. base: env.VITE_PUBLIC_PATH,
  14. //
  15. server: {
  16. proxy: {}
  17. },
  18. // 插件列表
  19. plugins: [
  20. vue(),
  21. legacy({
  22. targets: ['defaults', 'not IE 11']
  23. }),
  24. // 这个插件可以简化 vue3 定义组件名称的方式
  25. VueSetupExtend(),
  26. // 相关 API 自动导入
  27. AutoImport({
  28. imports: ['vue', 'vue-router'],
  29. }),
  30. // 在 index.html 中使用 EJS 标签
  31. injectHtml({
  32. data: {
  33. title: env.VITE_ADMIN_TITLE
  34. }
  35. }),
  36. ],
  37. resolve: {
  38. // kn. 配置路径别名 -- 以@开头的路径,都相当于 /src/ 下的根路径
  39. alias: {
  40. '@': resolve(__dirname, '.', './src/'),
  41. '/@': resolve(__dirname, '.', './src/'),
  42. },
  43. // 配置可省略不写的文件后缀
  44. extensions: ['.vue', '.js', '.json', '.css']
  45. },
  46. build: {
  47. outDir: 'production'
  48. },
  49. }
  50. })