Skip to content

Commit 1dd154b

Browse files
committed
chore: code splitting (#develop)
1 parent 5293390 commit 1dd154b

File tree

3 files changed

+106
-16
lines changed

3 files changed

+106
-16
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { createPreloader } from '@stackflow/plugin-preload';
2+
3+
import type { TypeActivities } from '@/stackflow';
4+
5+
export const { usePreloader } = createPreloader<TypeActivities>();

services/ahhachul.com/src/stackflow.ts

Lines changed: 60 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,46 @@
1+
import React from 'react';
2+
13
import { createLinkComponent } from '@stackflow/link';
24
import '@stackflow/plugin-basic-ui/index.css';
35
import { createPreloader } from '@stackflow/plugin-preload';
46
import { stackflow } from '@stackflow/react';
57
import { useActivity } from '@stackflow/react';
68

7-
import {
8-
MyPages,
9-
AuthPages,
10-
HomePages,
11-
CommunityPages,
12-
LostFoundPages,
13-
ComplaintPages,
14-
SharingPages,
15-
} from '@/pages';
9+
import { HomePage } from '@/pages/home';
1610

1711
import { stackflowPlugin } from './stackflow.config';
1812

13+
const SignInPage = React.lazy(() => import('@/pages/auth/login'));
14+
const CommunityPage = React.lazy(() => import('@/pages/community/page'));
15+
const LostFoundPage = React.lazy(() => import('@/pages/lostFound/page'));
16+
const ComplaintPage = React.lazy(() => import('@/pages/complaint/page'));
17+
const TalkPage = React.lazy(() => import('@/pages/talk/page'));
18+
const NotificationPage = React.lazy(() => import('@/pages/notification/page'));
19+
20+
const MyPage = React.lazy(() => import('@/pages/my/page'));
21+
const SettingPage = React.lazy(() => import('@/pages/my/setting'));
22+
const SetNickNamePage = React.lazy(() => import('@/pages/auth/set-nickname'));
23+
const SignInCallbackPage = React.lazy(() => import('@/pages/auth/callback'));
24+
25+
const NewCommunityPage = React.lazy(() => import('@/pages/community/new'));
26+
const EditCommunityPage = React.lazy(() => import('@/pages/community/[id]/edit'));
27+
const CommunityDetailPage = React.lazy(() => import('@/pages/community/[id]/page'));
28+
29+
const NewLostFoundPage = React.lazy(() => import('@/pages/lostFound/new'));
30+
const EditLostFoundPage = React.lazy(() => import('@/pages/lostFound/[id]/edit'));
31+
const LostFoundDetailPage = React.lazy(() => import('@/pages/lostFound/[id]/page'));
32+
33+
const NewComplaintPage = React.lazy(() => import('@/pages/complaint/new'));
34+
const ComplaintListPage = React.lazy(() => import('@/pages/complaint/list'));
35+
const EditComplaintPage = React.lazy(() => import('@/pages/complaint/[id]/edit'));
36+
const ComplaintDetailPage = React.lazy(() => import('@/pages/complaint/[id]/page'));
37+
38+
const TalkDetailPage = React.lazy(() => import('@/pages/talk/setting'));
39+
const TalkSettingPage = React.lazy(() => import('@/pages/talk/[talkId]/page'));
40+
const NotificationSettingPage = React.lazy(() => import('@/pages/notification/setting'));
41+
const EditCommentPage = React.lazy(() => import('@/pages/comment/[commentId]/edit'));
42+
const NewCommentReplyPage = React.lazy(() => import('@/pages/comment/[commentId]/reply'));
43+
1944
const { Link } = createLinkComponent<TypeActivities>();
2045

2146
const { usePreloader } = createPreloader<TypeActivities>();
@@ -27,13 +52,32 @@ const {
2752
useStepFlow,
2853
} = stackflow({
2954
activities: {
30-
...MyPages,
31-
...AuthPages,
32-
...HomePages,
33-
...CommunityPages,
34-
...LostFoundPages,
35-
...ComplaintPages,
36-
...SharingPages,
55+
MyPage,
56+
SettingPage,
57+
SignInPage,
58+
SetNickNamePage,
59+
SignInCallbackPage,
60+
HomePage,
61+
CommunityPage,
62+
NewCommunityPage,
63+
EditCommunityPage,
64+
CommunityDetailPage,
65+
LostFoundPage,
66+
NewLostFoundPage,
67+
EditLostFoundPage,
68+
LostFoundDetailPage,
69+
ComplaintPage,
70+
NewComplaintPage,
71+
ComplaintListPage,
72+
EditComplaintPage,
73+
ComplaintDetailPage,
74+
TalkPage,
75+
TalkDetailPage,
76+
TalkSettingPage,
77+
NotificationPage,
78+
NotificationSettingPage,
79+
EditCommentPage,
80+
NewCommentReplyPage,
3781
},
3882
plugins: stackflowPlugin,
3983
transitionDuration: 350,

services/ahhachul.com/vite.config.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,47 @@ export default defineConfig({
6767
target: 'esnext',
6868
minify: false,
6969
cssCodeSplit: false,
70+
rollupOptions: {
71+
output: {
72+
manualChunks: {
73+
auth: [
74+
'./src/pages/auth/login',
75+
'./src/pages/auth/set-nickname',
76+
'./src/pages/auth/callback',
77+
],
78+
community: [
79+
'./src/pages/community/page',
80+
'./src/pages/community/new',
81+
'./src/pages/community/[id]/edit',
82+
'./src/pages/community/[id]/page',
83+
],
84+
'lost-found': [
85+
'./src/pages/lostFound/page',
86+
'./src/pages/lostFound/new',
87+
'./src/pages/lostFound/[id]/edit',
88+
'./src/pages/lostFound/[id]/page',
89+
],
90+
complaint: [
91+
'./src/pages/complaint/page',
92+
'./src/pages/complaint/new',
93+
'./src/pages/complaint/list',
94+
'./src/pages/complaint/[id]/edit',
95+
'./src/pages/complaint/[id]/page',
96+
],
97+
talk: [
98+
'./src/pages/talk/page',
99+
'./src/pages/talk/setting',
100+
'./src/pages/talk/[talkId]/page',
101+
],
102+
notification: ['./src/pages/notification/page', './src/pages/notification/setting'],
103+
comment: [
104+
'./src/pages/comment/[commentId]/edit',
105+
'./src/pages/comment/[commentId]/reply',
106+
],
107+
my: ['./src/pages/my/page', './src/pages/my/setting'],
108+
},
109+
},
110+
},
70111
},
71112
resolve: {
72113
alias: [

0 commit comments

Comments
 (0)