l ๐Ÿค– ์ฝ”๋“œ l

vite ํ”„๋กœ์ ํŠธ vercel์—์„œ ๋ฐฐํฌ ์•ˆ๋ ๋•Œ / ๊ฐ„๋‹จํ•ด๊ฒฐโœจ

์ฝ”๋“œ๊ทธ๋ฆผ 2023. 12. 14.
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”~

์ฝ”๋“œ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.

 

์ œ๊ฐ€ ์ด๋ฒˆ์— vite๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ vercel์—์„œ ๋ฐฐํฌ๊ฐ€ ์•ˆ๋์—ˆ๊ฑฐ๋“ ์š” ๐Ÿคฃ

๊ทธ๋ž˜์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊นŒ๋จน์ง€ ์•Š๋„๋ก ๋ธ”๋กœ๊ทธ์— ์ ์–ด๋‘ก๋‹ˆ๋‹ค ใ…Žใ…Ž

 

์šฐ์„  vite๋Š” ๋‹จ์ผํŽ˜์ด์ง€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋นŒ๋“œํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ํˆด์ด๊ธฐ ๋•Œ๋ฌธ์—

html ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๋˜๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์—๋Ÿฌ์— ๋ด‰์ฐฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š”๋ฐ์š”,

๊ทธ๋Ÿผ ์—ฌ๋Ÿฌ๊ฐœ์˜ html ํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”!

 

 

๐Ÿ‘‡์ œ๊ฐ€ vercel๋กœ ๋ฐฐํฌํ•œ vite ํ”„๋กœ์ ํŠธ ์ž…๋‹ˆ๋‹ค๐Ÿ‘‡(https://jng-3d-project.vercel.app/)

viteํ”„๋กœ์ ํŠธ ๋ฃจํŠธ โ“’์ฝ”๋“œ๊ทธ๋ฆผ

 

 

1. html ํŒŒ์ผ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๊ด€๋ฆฌ

ํ•œ๊ฐœ์˜ ํด๋” ์•ˆ์— ํ•œ๊ฐœ์˜ htmlํŒŒ์ผ์„ ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

viteํ”„๋กœ์ ํŠธ ๋ฃจํŠธ โ“’์ฝ”๋“œ๊ทธ๋ฆผ

์ œ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ๋Š” ์œ„์— ๋ณด์‹œ๋Š” ํ™”๋ฉด๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ณด์‹œ๋ฉด dist ํŒŒ์ผ ์•ˆ์— ๋“ค์–ด๊ฐ€์žˆ๋Š” index ํŒŒ์ผ์€ ๋ฉ”์ธ ๋žœ๋”ฉ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒˆ์งธ html, ์„ธ ๋ฒˆ์งธ html ... ๊ณ„์†๋ ํ…๋ฐ ๊ทธ๋Ÿฌ๋ฉด ์›๋ž˜ html ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ํด๋”๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์•ˆ์— ์ด๋ฆ„์„ index.html๋กœ ๋ฐ”๊ฟ”์„œ ํŒŒ์ผ์„ ์ €์žฅํ•ด ์ฃผ์„ธ์š”.

 

viteํ”„๋กœ์ ํŠธ ๋ฃจํŠธ โ“’์ฝ”๋“œ๊ทธ๋ฆผ

 

๊ทธ๋ฆฌ๊ณ  dist ํ•˜์œ„ ๊ฒฝ๋กœ์— ์žˆ๋Š” index.html์—์„œ ๋‹ค๋ฅธ html๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋Š” ์œ„์™€ ๊ฐ™์ด ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด,

โ‘  report1.html ์ด๋ผ๋ฉด report1๋กœ ํŒŒ์ผ ๋งŒ๋“ค๊ณ 

โ‘ก ํ•˜์œ„์— index.html๋กœ ์ด๋ฆ„ ์ ๊ณ 

โ‘ข ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ๋กœ์—์„œ๋Š” ์œ„์™€ ๊ฐ™์ด ./ repot1๋กœ ์ด๋™ํ•˜๋„๋ก ํ•˜๊ธฐ

 

2. vite.config.js ํŒŒ์ผ ๊ด€๋ฆฌ

import { defineConfig } from 'vite';
import path from 'path';

const isCodeSandbox = 'SANDBOX_URL' in process.env || 'CODESANDBOX_HOST' in process.env;

export default defineConfig({
    root: 'src/',
    publicDir: '../static/',
    base: './',
    server: {
        host: true,
        open: !isCodeSandbox // Open if it's not a CodeSandbox
    },
    build: {
        outDir: '../dist',
        emptyOutDir: true,
        sourcemap: true,
        rollupOptions: {
            input: {
                main: path.join(__dirname,'/src/index.html'),  // ์ฒซ ๋ฒˆ์งธ HTML ํŒŒ์ผ ๊ฒฝ๋กœ
                report1: path.join(__dirname,'/src/report1/index.html'), // ๋‘ ๋ฒˆ์งธ HTML ํŒŒ์ผ ๊ฒฝ๋กœ
                report2: path.join(__dirname,'/src/report2/index.html')   // ์„ธ ๋ฒˆ์งธ HTML ํŒŒ์ผ ๊ฒฝ๋กœ
                // ๊ฐ ๊ฒฝ๋กœ๋Š” ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜์„ธ์š”
            }
        }
    },
    // ๊ธฐํƒ€ ์„ค์ •…
});

 

 

ํ”„๋กœ์ ํŠธ ์ตœํ•˜๋‹จ์— ์žˆ๋Š” vite.config.js ํŒŒ์ผ์„ ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค.

ํŒŒ์ผ ๊ฒฝ๋กœ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ฐ”๋กœ ์ €๊ธฐ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด์ฃผ๋Š” ๊ฑฐ์˜ˆ์š” ๐Ÿ˜€๐Ÿ‘

 

3. ๊ธฐํƒ€ ํŒŒ์ผ๊ฒฝ๋กœ ์ œ๋Œ€๋กœ ์„ค์ •

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ html์— ์—ฐ๋™๋œ ๊ธฐํƒ€ ํŒŒ์ผ๋“ค ๋ฃจํŠธ๋ฅผ ์ž˜ ์„ค์ •ํ•ด ์ฃผ์„ธ์š”.

 

โ€ป ์ด๋ฏธ์ง€ ํŒŒ์ผ์€ ์ „๋ถ€ ์†Œ๋ฌธ์ž๋กœ ํ•ด์ฃผ์…”์•ผ ์—…๋กœ๋“œ ๋ฉ๋‹ˆ๋‹ค!! (vercel ํŠน์ง•์ด์—์š”!!)

 

 

์ด๋ ‡๊ฒŒ๋งŒ ์„ค์ •ํ•˜์‹œ๋ฉด ์‚ฌ์ดํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์–ด์š”!!

 

๊ทธ๋Ÿผ ๋ชจ๋‘ ๋ฐฐํฌ์— ์„ฑ๊ณตํ•˜์‹œ๊ณ  ์ฆ๊ฒ๊ณ  ํ–‰๋ณตํ•œ ์ฝ”๋”ฉ ํ•˜์‹ญ์…”~~ ใ…Žใ…Ž

 

์ด์ƒ ์ฝ”๋“œ๊ทธ๋ฆผ์ด์—ˆ์Šต๋‹ˆ๋‹ค!!

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€

๐Ÿ’ฒ ์ถ”์ฒœ ๊ธ€