Skip to content

Conversation

@constantly-dev
Copy link
Member

@constantly-dev constantly-dev commented Nov 12, 2025

๐Ÿ“Œ Related Issues

๊ด€๋ จ๋œ Issue๋ฅผ ํƒœ๊ทธํ•ด์ฃผ์„ธ์š”. (e.g. - close #25)

๐Ÿ“„ Tasks

๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ ์ตœ์ ํ™” ์ง„ํ–‰

โญ PR Point (To Reviewer)

https://peppered-parade-9ba.notion.site/2a9081ae8cf980698826d0264b44eb32?source=copy_link

๋…ธ์…˜์œผ๋กœ ๋Œ€์ฒดํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

Summary by CodeRabbit

๋ฆด๋ฆฌ์Šค ๋…ธํŠธ

  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ

    • ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์ค‘ ๋กœ๋”ฉ ํ‘œ์‹œ ์ถ”๊ฐ€
  • ์ตœ์ ํ™”

    • ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ๋™์  ๋กœ๋“œ ์ ์šฉ์œผ๋กœ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์„ฑ๋Šฅ ๊ฐœ์„ 
    • ๋ฒˆ๋“ค ์ตœ์ ํ™” ๋ฐ ์ˆ˜๋™ ์ฒญํฌ ๋ถ„ํ•  ๊ตฌ์„ฑ ์ถ”๊ฐ€
  • Chores

    • ๋นŒ๋“œ ๋ถ„์„ ๋„๊ตฌ ์˜์กด์„ฑ ์ถ”๊ฐ€

@vercel
Copy link

vercel bot commented Nov 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
pinback-client-client Ready Ready Preview Comment Nov 12, 2025 3:05pm
pinback-client-landing Ready Ready Preview Comment Nov 12, 2025 3:05pm

@coderabbitai
Copy link

coderabbitai bot commented Nov 12, 2025

Walkthrough

์ด PR์€ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…๊ณผ ๋™์  ์ž„ํฌํŠธ๋ฅผ ํ†ตํ•ด ๋ฒˆ๋“ค ์ตœ์ ํ™”๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. React.lazy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ง€์—ฐ ๋กœ๋”ฉํ•˜๊ณ , Suspense๋กœ ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, Vite ์„ค์ •์—์„œ ๋ฒˆ๋“ค ๋ถ„์„ ๋ฐ ์ˆ˜๋™ ์ฒญํฌ ์ƒ์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Changes

Cohort / File(s) ๋ณ€๊ฒฝ ์‚ฌํ•ญ
Suspense ๋ฐ ๋™์  ๋กœ๋”ฉ
apps/client/src/layout/Layout.tsx
์ž„ํฌํŠธ ํฌ๋งทํŒ… ์กฐ์ •, Suspense ์ž„ํฌํŠธ ์ถ”๊ฐ€, <Outlet />์„ <Suspense fallback={<div>Loading...</div>}>๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ๋กœ๋”ฉ ํด๋ฐฑ ํ™œ์„ฑํ™”
์ง€์—ฐ ๋กœ๋”ฉ ๋ผ์šฐํŠธ ๊ตฌ์„ฑ
apps/client/src/routes/router.tsx
React.lazy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MyBookmark, Category, Level, OnBoarding ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋™์  ์ž„ํฌํŠธ๋กœ ๋ณ€๊ฒฝ; Remind ๋ผ์šฐํŠธ๋ฅผ ์ธ๋ฑ์Šค ๋ผ์šฐํŠธ๋กœ ์ˆ˜์ •
๋ฒˆ๋“ค ๋ถ„์„ ๋ฐ ์ฒญํฌ ๊ตฌ์„ฑ
apps/client/vite.config.ts
rollup-plugin-visualizer ์ž„ํฌํŠธ ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ถ”๊ฐ€; ๋ฒˆ๋“ค ๋ถ„์„ HTML ์ƒ์„ฑ ํ™œ์„ฑํ™”; React ๋ฐ framer-motion ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์œ„ํ•œ ์ˆ˜๋™ ์ฒญํฌ(@react-vendor, @framer-motion-vendor) ๊ตฌ์„ฑ
์˜์กด์„ฑ ์ถ”๊ฐ€
package.json
rollup-plugin-visualizer (^6.0.5) ๊ฐœ๋ฐœ ์˜์กด์„ฑ ์ถ”๊ฐ€

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Browser
    participant MainBundle
    participant LazyChunk as Lazy<br/>Chunk
    participant SuspenseFallback

    User->>Browser: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ ‘์†
    Browser->>MainBundle: ๋ฉ”์ธ ๋ฒˆ๋“ค ๋กœ๋“œ
    MainBundle->>Browser: ์ดˆ๊ธฐ UI ๋ Œ๋”๋ง (Layout + Outlet)
    
    Note over Browser,Outlet: Outlet ์ปดํฌ๋„ŒํŠธ ๋งˆ์šดํŠธ
    
    User->>Browser: ํŽ˜์ด์ง€ ๋„ค๋น„๊ฒŒ์ด์…˜ (e.g., MyBookmark)
    Browser->>SuspenseFallback: Suspense ํด๋ฐฑ ํ‘œ์‹œ<br/>(Loading...)
    
    par ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ฒญํฌ ๋กœ๋“œ
        Browser->>LazyChunk: ์ง€์—ฐ ๋กœ๋”ฉ ์ฒญํฌ ์š”์ฒญ
        LazyChunk->>Browser: ์ฒญํฌ ๋กœ๋“œ ์™„๋ฃŒ
    end
    
    Browser->>Browser: ์ปดํฌ๋„ŒํŠธ ๋งˆ์šดํŠธ
    SuspenseFallback->>User: ์‹ค์ œ ํŽ˜์ด์ง€ ์ฝ˜ํ…์ธ  ํ‘œ์‹œ
Loading

Estimated code review effort

๐ŸŽฏ 2 (Simple) | โฑ๏ธ ~10 minutes

  • ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ผ๊ด€๋œ ํŒจํ„ด(์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…๊ณผ ์ฒญํฌ ๊ตฌ์„ฑ)์„ ๋”ฐ๋ฅด๋ฉฐ ๋ฐ˜๋ณต์ ์ž…๋‹ˆ๋‹ค
  • ์ƒˆ๋กœ์šด ๋กœ์ง ๋ฐ€๋„๊ฐ€ ๋‚ฎ๊ณ  ๊ฐ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์ด ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค
  • Vite ์„ค์ •์˜ ์ฒญํฌ ๊ตฌ์„ฑ์ด ์˜๋„๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ ํ•„์š”

์ถ”๊ฐ€ ๊ฒ€ํ†  ํ•ญ๋ชฉ:

  • apps/client/src/routes/router.tsx์˜ Remind ๋ผ์šฐํŠธ ๋ณ€๊ฒฝ์ด ๋ผ์šฐํŒ… ๋™์ž‘์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ํ™•์ธ
  • Suspense ํด๋ฐฑ UI ("Loading...")์˜ ์‚ฌ์šฉ์„ฑ ๋ฐ ์Šคํƒ€์ผ๋ง ์ ์ ˆ์„ฑ ๊ฒ€์ฆ

Possibly related PRs

Suggested labels

setting, feat

Suggested reviewers

  • jllee000

Poem

๐Ÿฐ ๋ฒˆ๋“ค์„ ์ชผ๊ฐœ๊ณ , ์ฒญํฌ๋ฅผ ๋‚˜๋ˆ„๊ณ ,
์ง€์—ฐ ๋กœ๋”ฉ์œผ๋กœ ์†๋„๋ฅผ ๋†’์ด๊ณ ,
Suspense๋กœ ๊ธฐ๋‹ค๋ฆผ์„ ๋‹ค๋ฃจ๋‹ˆ,
๋ฒˆ๋“ค ํฌ๊ธฐ๋Š” ์ž‘์•„์ง€๊ณ ,
์‚ฌ์šฉ์ž ๊ฒฝํ—˜์€ ๋นจ๋ผ์ง„๋‹ค! โœจ

Pre-merge checks and finishing touches

โŒ Failed checks (2 warnings)
Check name Status Explanation Resolution
Linked Issues check โš ๏ธ Warning Changes implement bundle size optimization via lazy loading and code-splitting aligned with issue #198, but include unrelated components unrelated to #25 progress bar requirements. Remove changes unrelated to the bundle optimization objective, or clarify if components are necessary for the optimization strategy.
Out of Scope Changes check โš ๏ธ Warning The PR includes Layout.tsx Suspense implementation, lazy loading, and bundle chunking focused on #198, but #25 progress bar requirements are not addressed. Either address #25 progress bar implementation requirements (Progress component, variants, accessibility, tests) or unlink #25 from this PR.
โœ… Passed checks (3 passed)
Check name Status Explanation
Title check โœ… Passed The PR title clearly describes the main change: bundle size optimization through code-splitting and lazy loading implementation.
Docstring Coverage โœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check โœ… Passed PR ์„ค๋ช…์ด ํ•„์ˆ˜ ์„น์…˜์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ด€๋ จ ์ด์Šˆ(#198)๊ฐ€ ๋ช…์‹œ๋˜์–ด ์žˆ๊ณ  ์ž‘์—… ๋‚ด์šฉ(๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ ์ตœ์ ํ™”)์ด ๊ธฐ์ˆ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
โœจ Finishing touches
  • ๐Ÿ“ Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

โค๏ธ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added the refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง label Nov 12, 2025
@github-actions
Copy link

โœ… Storybook chromatic ๋ฐฐํฌ ํ™•์ธ:
๐Ÿฟ๏ธ storybook

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

๐Ÿงน Nitpick comments (3)
apps/client/vite.config.ts (2)

7-7: visualizer ์ž๋™ ์—ด๊ธฐ ๋™์ž‘์„ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์กฐ๊ฑด๋ถ€๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์„ธ์š”.

open: true ์„ค์ •์€ ๋งค ๋นŒ๋“œ๋งˆ๋‹ค ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ž๋™์œผ๋กœ ์—ด์–ด ๊ฐœ๋ฐœ ์ค‘์— ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด๋ถ€๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค:

-    visualizer({ filename: 'dist/bundle-analysis.html', open: true }),
+    visualizer({ 
+      filename: 'dist/bundle-analysis.html', 
+      open: process.env.ANALYZE === 'true' 
+    }),

๊ทธ๋Ÿฐ ๋‹ค์Œ package.json์— ๋ณ„๋„์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

"scripts": {
  "build:analyze": "ANALYZE=true turbo run build"
}

Also applies to: 21-21


23-40: manualChunks์˜ ๊ฒฝ๋กœ ๋งค์นญ ๋กœ์ง์„ ๋” ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตฌํ˜„์€ ์ž‘๋™ํ•˜์ง€๋งŒ, ๋ฌธ์ž์—ด ํฌํ•จ ๊ฒ€์‚ฌ๋Š” ์˜คํƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ์ •ํ™•ํ•œ ํŒจํ‚ค์ง€ ๋งค์นญ์„ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

         manualChunks: (id: string) => {
-          if (
-            id.includes('node_modules/react/') ||
-            id.includes('node_modules/react-dom/') ||
-            id.includes('node_modules/react-router-dom/')
-          ) {
+          if (id.includes('node_modules')) {
+            if (/[\\/]node_modules[\\/](react|react-dom|react-router-dom)[\\/]/.test(id)) {
-            return '@react-vendor';
+              return '@react-vendor';
+            }
+            if (/[\\/]node_modules[\\/]framer-motion[\\/]/.test(id)) {
+              return '@framer-motion-vendor';
+            }
           }
-          if (id.includes('node_modules/framer-motion/')) {
-            return '@framer-motion-vendor';
-          }
         },

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฒฝ๋กœ ๊ตฌ๋ถ„์ž๋ฅผ ์ •ํ™•ํžˆ ๋งค์นญํ•˜์—ฌ ์˜คํƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

apps/client/src/layout/Layout.tsx (1)

3-3: Suspense fallback UI๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์„ธ์š”.

Suspense ๋ž˜ํผ ๊ตฌํ˜„์€ ์˜ฌ๋ฐ”๋ฅด๋ฉฐ lazy-loaded ๋ผ์šฐํŠธ์™€ ์ž˜ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ˜„์žฌ fallback์ด ๋„ˆ๋ฌด ๋‹จ์ˆœํ•˜์—ฌ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” UX ๊ฐœ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด ์ ์ ˆํ•œ ๋กœ๋”ฉ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค:

+import LoadingSpinner from '@components/LoadingSpinner'; // ๋˜๋Š” ์ ์ ˆํ•œ ๋กœ๋”ฉ ์ปดํฌ๋„ŒํŠธ

 const Layout = () => {
   const location = useLocation();
   const isOnboarding = location.pathname.startsWith('/onboarding');

   return (
     <>
       <div className="flex h-screen">
         {!isOnboarding && <Sidebar />}
         <main className="bg-gray-bg flex-1 overflow-y-auto">
-          <Suspense fallback={<div>Loading...</div>}>
+          <Suspense fallback={
+            <div className="flex h-full items-center justify-center">
+              <LoadingSpinner />
+            </div>
+          }>
             <Outlet />
           </Suspense>
         </main>
       </div>
     </>
   );
 };

๋˜๋Š” ๋””์ž์ธ ์‹œ์Šคํ…œ์— ์ด๋ฏธ ๋กœ๋”ฉ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Also applies to: 14-16

๐Ÿ“œ Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

๐Ÿ“ฅ Commits

Reviewing files that changed from the base of the PR and between 716a9d5 and a41e651.

โ›” Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
๐Ÿ“’ Files selected for processing (4)
  • apps/client/src/layout/Layout.tsx (2 hunks)
  • apps/client/src/routes/router.tsx (1 hunks)
  • apps/client/vite.config.ts (2 hunks)
  • package.json (1 hunks)
๐Ÿงฐ Additional context used
๐Ÿง  Learnings (1)
๐Ÿ““ Common learnings
Learnt from: constantly-dev
Repo: Pinback-Team/pinback-client PR: 2
File: pnpm-workspace.yaml:3-3
Timestamp: 2025-08-18T13:48:59.065Z
Learning: constantly-dev๋Š” docs ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ปจ๋ฒค์…˜ ๋ฌธ์„œ ์ถ”๊ฐ€์šฉ์œผ๋กœ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋ผ๊ณ  ๋ช…์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.
Learnt from: constantly-dev
Repo: Pinback-Team/pinback-client PR: 5
File: apps/extension/src/index.css:1-1
Timestamp: 2025-08-19T17:18:57.678Z
Learning: constantly-dev๋Š” ๋””์ž์ธ ์‹œ์Šคํ…œ ์„ค์ • PR ๋จธ์ง€ ํ›„ `import 'pinback/tailwind-config/shared-styles.css';`๋ฅผ `app.css`๋‚˜ `index.css`์—์„œ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ  ์Šคํƒ€์ผ์„ ๊ด€๋ฆฌํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
๐Ÿงฌ Code graph analysis (2)
apps/client/src/routes/router.tsx (1)
apps/client/src/pages/level/Level.tsx (1)
  • Level (12-73)
apps/client/src/layout/Layout.tsx (1)
apps/client/src/shared/components/sidebar/Sidebar.tsx (1)
  • Sidebar (24-236)
โฐ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: storybook
๐Ÿ”‡ Additional comments (3)
package.json (1)

29-29: LGTM!

๋ฒˆ๋“ค ๋ถ„์„์„ ์œ„ํ•œ visualizer ํ”Œ๋Ÿฌ๊ทธ์ธ ์ถ”๊ฐ€๊ฐ€ ์ ์ ˆํ•ฉ๋‹ˆ๋‹ค. devDependencies์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐฐ์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

apps/client/src/routes/router.tsx (2)

5-10: LGTM!

React.lazy๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ… ๊ตฌํ˜„์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒˆ๋“ค ์ตœ์ ํ™”์— ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.


1-1: Remind ์ปดํฌ๋„ŒํŠธ์˜ eager ๋กœ๋”ฉ์ด ์˜๋„์ ์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”.

๋‹ค๋ฅธ ํŽ˜์ด์ง€๋Š” ๋ชจ๋‘ lazy ๋กœ๋”ฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, Remind๋Š” eager ๋กœ๋”ฉ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋žœ๋”ฉ ํŽ˜์ด์ง€๋กœ์„œ ์ฆ‰์‹œ ๋กœ๋“œ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฒˆ๋“ค ์ตœ์ ํ™” ๋ชฉํ‘œ์™€ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์˜๋„์ ์ธ ์„ ํƒ์ธ์ง€ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ Remind๋„ lazy ๋กœ๋”ฉํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

-import Remind from '@pages/remind/Remind';
 import { ROUTES_CONFIG } from '@routes/routesConfig';
 import { createBrowserRouter } from 'react-router-dom';
 import Layout from 'src/layout/Layout';
 import { lazy } from 'react';

+const Remind = lazy(() => import('@pages/remind/Remind'));
 const MyBookmark = lazy(() => import('@pages/myBookmark/MyBookmark'));
 const Category = lazy(() => import('@pages/category/Category'));
 const Level = lazy(() => import('@pages/level/Level'));
 const OnBoarding = lazy(() => import('@pages/onBoarding/OnBoarding'));

์ฐธ๊ณ : index: true๋กœ์˜ ๋ณ€๊ฒฝ์€ React Router v7์˜ ์˜ฌ๋ฐ”๋ฅธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.

Also applies to: 18-19

Comment on lines +27 to +32
if (
id.includes('node_modules/react/') ||
id.includes('node_modules/react-dom/') ||
id.includes('node_modules/react-router-dom/')
) {
return '@react-vendor';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์˜น ์ด๋Ÿฐ์‹์œผ๋กœ, ๋ฌด๊ฑฐ์šด ์ฒญํฌ๋“ค์„ ๋ถ„๋ฆฌํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š”๊ตฐ๋…€~! ๊ตฟ๊ตฟ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Refactor] ๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ ์ตœ์ ํ™”

3 participants