|
1 | | -import { defineConfig, loadAndConvertEnv } from '@vben/vite-config'; |
| 1 | +import { |
| 2 | + defaultImportmapOptions, |
| 3 | + defineConfig, |
| 4 | + getDefaultPwaOptions, |
| 5 | + loadAndConvertEnv, |
| 6 | +} from '@vben/vite-config'; |
2 | 7 |
|
3 | | -export default defineConfig({ |
4 | | - application: async ({ mode }) => { |
5 | | - const envConfig = await loadAndConvertEnv(); |
6 | | - |
7 | | - return { |
| 8 | +export default defineConfig(async () => { |
| 9 | + const { appTitle, port, ...envConfig } = await loadAndConvertEnv(); |
| 10 | + return { |
| 11 | + application: { |
8 | 12 | ...envConfig, |
9 | 13 | importmap: false, |
10 | | - importmapOptions: { |
11 | | - // 通过 Importmap CDN 方式引入, |
12 | | - // 目前只有esm.sh源兼容性好一点,jspm.io对于 esm 入口要求高 |
13 | | - defaultProvider: 'esm.sh', |
14 | | - importmap: [ |
15 | | - { name: 'vue' }, |
16 | | - { name: 'pinia' }, |
17 | | - { name: 'vue-router' }, |
18 | | - { name: 'vue-i18n' }, |
19 | | - { name: 'dayjs' }, |
20 | | - { name: 'vue-demi' }, |
21 | | - ], |
22 | | - }, |
| 14 | + importmapOptions: defaultImportmapOptions, |
23 | 15 | pwa: false, |
24 | | - pwaOptions: { |
25 | | - manifest: { |
26 | | - description: |
27 | | - 'Vben Admin Pro is a modern admin dashboard template based on Vue 3. ', |
28 | | - icons: [ |
29 | | - { |
30 | | - sizes: '192x192', |
31 | | - src: 'https://cdn.jsdelivr.net/npm/@vbenjs/static-source@0.1.3/source/pwa-icon-192.png', |
32 | | - type: 'image/png', |
33 | | - }, |
34 | | - { |
35 | | - sizes: '512x512', |
36 | | - src: 'https://cdn.jsdelivr.net/npm/@vbenjs/static-source@0.1.3/source/pwa-icon-512.png', |
37 | | - type: 'image/png', |
38 | | - }, |
39 | | - ], |
40 | | - name: `Vben Admin Pro ${mode}`, |
41 | | - short_name: `Vben Admin Pro ${mode}`, |
42 | | - }, |
43 | | - }, |
44 | | - }; |
45 | | - }, |
46 | | - vite: { |
47 | | - server: { |
48 | | - proxy: { |
49 | | - '/api': { |
50 | | - changeOrigin: true, |
51 | | - rewrite: (path) => path.replace(/^\/api/, ''), |
52 | | - // 代理目标地址 - backend-mock 项目 |
53 | | - target: 'http://localhost:5320/api', |
54 | | - ws: true, |
| 16 | + pwaOptions: getDefaultPwaOptions(appTitle), |
| 17 | + }, |
| 18 | + vite: { |
| 19 | + server: { |
| 20 | + port, |
| 21 | + proxy: { |
| 22 | + '/api': { |
| 23 | + changeOrigin: true, |
| 24 | + rewrite: (path) => path.replace(/^\/api/, ''), |
| 25 | + // 代理目标地址 - backend-mock 项目 |
| 26 | + target: 'http://localhost:5320/api', |
| 27 | + ws: true, |
| 28 | + }, |
55 | 29 | }, |
56 | 30 | }, |
57 | 31 | }, |
58 | | - }, |
| 32 | + }; |
59 | 33 | }); |
0 commit comments