-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathvite.config.js
More file actions
93 lines (92 loc) · 2.96 KB
/
vite.config.js
File metadata and controls
93 lines (92 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';
import { VitePWA } from 'vite-plugin-pwa';
import dotenv from 'dotenv';
// https://vitejs.dev/config/
import fs from 'fs';
import svgr from 'vite-plugin-svgr';
// .env 파일 로드
dotenv.config();
export default defineConfig({
server: {
https: process.env.VERCEL
? false
: {
key: fs.readFileSync(process.env.PEM_KEY_PATH),
cert: fs.readFileSync(process.env.PEM_CERT_PATH),
},
},
plugins: [
react(),
svgr(), //svg라이브러리
VitePWA({
// PWA 플러그인 설정
registerType: 'autoUpdate', // 서비스 워커 자동 업데이트 설정
includeAssets: [
'favicon.ico',
'robots.txt',
'/icons/maskable_icon_x128.png',
'/icons/maskable_icon_x192.png',
'/icons/maskable_icon_x512.png',
'/icons/maskable_icon_x512_maskable.png',
], // 추가적으로 참조할 파일 경로
manifest: {
name: '나눠주개',
short_name: '나눠주개',
description: '반려견 헌혈 및 수혈까지 편리하게!',
start_url: '/', // PWA가 시작되는 URL
scope: '/', // PWA가 적용될 URL 범위
display: 'standalone', // 브라우저 요소를 제거하고 앱처럼 보이게 설정
background_color: '#ffffff', // 배경 색상 (스플래시 화면)
theme_color: '#000000', // 툴바와 같은 UI 요소의 테마 색상
icons: [
{
src: 'icons/maskable_icon_x128.png',
sizes: '128x128',
type: 'image/png',
},
{
src: 'icons/maskable_icon_x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'icons/maskable_icon_x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'icons/maskable_icon_x512_maskable.png',
sizes: '512x512',
type: 'image/png',
purpose: 'maskable', // 마스킹이 가능한 아이콘
},
],
},
}),
],
build: {
rollupOptions: {
input: {
main: 'index.html', // 기본 페이지
test: 'public/test.html', // 테스트 페이지 추가
},
},
},
resolve: {
alias: {
//경로 별칭(Alias)으로 경로 관리하기
'@atoms': path.resolve(__dirname, 'src/atoms'),
'@components': path.resolve(__dirname, 'src/components'),
'@constants': path.resolve(__dirname, 'src/constants'),
'@hooks': path.resolve(__dirname, 'src/hooks'),
'@layout': path.resolve(__dirname, 'src/layout'),
'@pages': path.resolve(__dirname, 'src/pages'),
'@styles': path.resolve(__dirname, 'src/styles'),
'@assets': path.resolve(__dirname, 'src/assets'),
'@data': path.resolve(__dirname, 'src/data'),
'@apis': path.resolve(__dirname, 'src/apis'),
},
},
});