Skip to content

Commit 6d18361

Browse files
authored
Home이 로드 될 때에 바로 사용되지 않는 컴포넌트에 대해서 동적 import를 진행한다 (#882)
* fix: 바로 사용되지 않는 EmptyMessage component에 대해서 lazy loading 처리 * chore: 당장 사용하지 않는 ts-loader 제거
1 parent b2c1d81 commit 6d18361

File tree

10 files changed

+23
-10
lines changed

10 files changed

+23
-10
lines changed

frontend/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
"prettier": "^2.7.1",
7676
"storybook-addon-react-router-v6": "^0.2.1",
7777
"style-loader": "^3.3.1",
78-
"ts-loader": "^9.4.1",
7978
"typescript": "^4.7.4",
8079
"webpack": "^5.73.0",
8180
"webpack-bundle-analyzer": "^4.6.1",

frontend/src/components/article/PopularArticle/PopularArticle.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1+
import React from 'react';
12
import { useNavigate } from 'react-router-dom';
23

3-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
44
import Loading from '@/components/@common/Loading/Loading';
55
import * as S from '@/components/article/PopularArticle/PopularArticle.styles';
66
import PopularArticleItem from '@/components/article/PopularArticleItem/PopularArticleItem';
77
import useGetPopularArticles from '@/hooks/article/useGetPopularArticles';
88
import useCarousel from '@/hooks/common/useCarousel';
99
import { Category } from '@/types/articleResponse';
1010

11+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
12+
1113
const PopularArticle = () => {
1214
const { handleCarouselElementRef, handleLeftSlideEvent, handleRightSlideEvent, currentIndex } =
1315
useCarousel();

frontend/src/components/comment/CommentContent/CommentContent.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
1+
import React from 'react';
2+
23
import Comment from '@/components/comment/Comment/Comment';
34
import * as S from '@/components/comment/CommentContent/CommentContent.styles';
45
import useDetailCommentState from '@/hooks/comment/useDetailCommentState';
@@ -9,6 +10,8 @@ export interface CommentContentProps {
910
commentList: CommentType[];
1011
}
1112

13+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
14+
1215
const CommentContent = ({ articleId, commentList }: CommentContentProps) => {
1316
const { handleClickCommentPlusButton, isLogin } = useDetailCommentState({ articleId });
1417
return (

frontend/src/components/search/SearchResult/SearchResult.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { Suspense, useEffect } from 'react';
22
import { useNavigate } from 'react-router-dom';
33

4-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
54
import Loading from '@/components/@common/Loading/Loading';
65
import ArticleItem from '@/components/article/ArticleItem/ArticleItem';
76
import * as S from '@/components/search/SearchResult/SearchResult.styles';
@@ -11,6 +10,7 @@ import { CommonArticleType } from '@/types/articleResponse';
1110
const ResponsiveInfiniteCardList = React.lazy(
1211
() => import('@/components/@common/ResponsiveInfiniteCardList/ResponsiveInfiniteCardList'),
1312
);
13+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
1414

1515
const SearchResult = ({ target, searchIndex }: { target: string; searchIndex: string }) => {
1616
const { data, isLoading, isIdle, refetch, fetchNextPage } = useGetSearch({ target, searchIndex });

frontend/src/components/tempArticle/TemporaryArticleList/TemporaryArticleList.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1+
import React from 'react';
12
import { useNavigate } from 'react-router-dom';
23

3-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
44
import Loading from '@/components/@common/Loading/Loading';
55
import TemporaryArticleItem from '@/components/tempArticle/TemporaryArticleItem/TemporaryArticleItem';
66
import * as S from '@/components/tempArticle/TemporaryArticleList/TemporaryArticleList.styles';
77
import useDeleteTempArticle from '@/hooks/tempArticle/useDeleteTempArticle';
88
import useGetTempArticles from '@/hooks/tempArticle/useGetTempArticles';
99
import { TempArticleItem } from '@/types/articleResponse';
1010

11+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
12+
1113
const TemporaryArticleList = () => {
1214
const { data, isLoading } = useGetTempArticles();
1315
const { deleteTempArticleId } = useDeleteTempArticle();

frontend/src/components/user/UserArticleBox/UserArticleBox.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
1+
import React from 'react';
2+
23
import Loading from '@/components/@common/Loading/Loading';
34
import * as S from '@/components/user/UserArticleBox/UserArticleBox.styles';
45
import UserArticleItem from '@/components/user/UserArticleItem/UserArticleItem';
56
import useGetUserArticles from '@/hooks/user/useGetUserArticles';
67

8+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
9+
710
const UserArticleBox = () => {
811
const {
912
data: articles,

frontend/src/components/user/UserCommentBox/UserCommentBox.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
1+
import React from 'react';
2+
23
import Loading from '@/components/@common/Loading/Loading';
34
import * as S from '@/components/user/UserCommentBox/UserCommentBox.styles';
45
import UserCommentItem from '@/components/user/UserCommentItem/UserCommentItem';
56
import useGetUserComments from '@/hooks/user/useGetUserComments';
67

8+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
9+
710
const UserCommentBox = () => {
811
const {
912
data: comments,

frontend/src/pages/CategoryArticles/CategoryArticles.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import React from 'react';
12
import { useNavigate, useParams } from 'react-router-dom';
23

3-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
44
import Loading from '@/components/@common/Loading/Loading';
55
import ResponsiveInfiniteCardList from '@/components/@common/ResponsiveInfiniteCardList/ResponsiveInfiniteCardList';
66
import SortDropdown from '@/components/@common/SortDropdown/SortDropDown';
@@ -11,6 +11,8 @@ import * as S from '@/pages/CategoryArticles/CategoryArticles.styles';
1111
import { CommonArticleType } from '@/types/articleResponse';
1212
import { categoryNameConverter } from '@/utils/converter';
1313

14+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
15+
1416
const CategoryArticles = () => {
1517
const navigate = useNavigate();
1618
const { category } = useParams();

frontend/src/pages/Home/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { Suspense } from 'react';
22
import { useNavigate } from 'react-router-dom';
33

4-
import EmptyMessage from '@/components/@common/EmptyMessage/EmptyMessage';
54
import Loading from '@/components/@common/Loading/Loading';
65
import SortDropdown from '@/components/@common/SortDropdown/SortDropDown';
76
import useGetAllArticles from '@/hooks/article/useGetAllArticles';
@@ -16,6 +15,7 @@ const ArticleItem = React.lazy(() => import('@/components/article/ArticleItem/Ar
1615
const PopularArticle = React.lazy(
1716
() => import('@/components/article/PopularArticle/PopularArticle'),
1817
);
18+
const EmptyMessage = React.lazy(() => import('@/components/@common/EmptyMessage/EmptyMessage'));
1919

2020
const Home = () => {
2121
const [enterRef] = useEnterToClick();

frontend/src/pages/UpdateWriting/index.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useEffect } from 'react';
21
import { useParams } from 'react-router-dom';
32

43
import Card from '@/components/@common/Card/Card';

0 commit comments

Comments
 (0)