[spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(1) ์ค๋น๋ฌผ:spotify dev ๊ณ์ , application
2024.06.12 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ ์ ์ด์ด์ [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ๐ฉ๐ป๐ป ๊นํ๋ธ ๋ ํฌ GitHu
pyotato-dev.tistory.com
์ด๋ฒ์๋ authorization์ ๋ด๋นํ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ณ , vercel์ ๊ฐ๋จํ๊ฒ ๋ฐฐํฌํด ๋ณด์
์ผ๋จ vercel์์ express ์ฝ๋๋ฅผ ๋ฐฐํฌํ๋ ค๋ฉด ์์ ์ฝ๋์์ ์ด์ง ๋ณํ์ ํด์ผ ํ๋ค.
๋จผ์ vercel์ express๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด์
1. ์๋ก์ด ํ๋ก์ ํธ ์์ฑ
mkdir ${๋ด ํ๋ก์ ํธ ์ด๋ฆ}
cd ${๋ด ํ๋ก์ ํธ ์ด๋ฆ}
npm init -y
2. Express.js ์ค์น
npm install express
3. Express.js app ์ค์
- {๋ด ํ๋ก์ ํธ ์ด๋ฆ}์ api ํด๋๋ฅผ ์์ฑ
- {๋ด ํ๋ก์ ํธ ์ด๋ฆ}/api ์ index.ts ํ์ผ ์์ฑ. ์ด ํ์ผ์ด ๋ฉ์ธ ์๋ฒ ํ์ผ์ด๋ค.
4. Express.js sever ์ด๊ธฐํํ๊ธฐ
const express = require("express");
const app = express();
app.get("/", (req, res) => res.send("Express on Vercel"));
app.listen(3000, () => console.log("Server ready on port 3000."));
module.exports = app;
- ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ฅผ / ๋ก ์ค์ ํ๊ณ , ํธ์ถ๋๋ฉด vercel์ Express๋ฅผ ๋ฆฌํดํ๋ค.
- ์์ํ๋ฉด port3000์์ ์๋ฒ๊ฐ ๋์๊ฐ๋ค.
5. Vercel config ํด์ฃผ๊ธฐ
{ "version": 2, "rewrites": [{ "source": "/(.*)", "destination": "/api" }] }
์ต์๋จ์ vercel.json ํ์ผ์ ์์ฑํ๊ณ ์์ ๋ด์ฉ์ ์ถ๊ฐํด ์ฃผ์.
vercelํํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด /api ๊ฒฝ๋ก๋ก ๋ณด๋ด๋ผ๊ณ ์ค์ ํ ๊ฒ์ด๋ค.
6. ๋ก์ปฌ์์ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ฆฌ๊ธฐ
npm i -g vercel
vercel CLI๋ฅผ ์ค์นํ๋ฉด ํธ๋ฆฌํ๊ฒ ๋ก์ปฌ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ณต์ฌํด์ ์ธ ์ ์๋ค.
์์ ๊ฐ์ด ํฐ๋ฏธ๋์์ ์ค์น๋ฅผ ํด์ฃผ๊ณ ,
vercel login
์์ ์ฝ๋ฉ๋๋ก ๋ก๊ทธ์ธํด ์ฃผ์. ๋ก๊ทธ์ธ ํ ์๋์ ์ฝ๋ฉ๋๋ก ๋ก์ปฌ๋ก ๋์๊ฐ๋ ์๋ฒ๋ฅผ http://localhost:3000์์
ํ์ธํ ์ ์๋ค.
vercel dev
7. ๋ฐฐํฌ๋ ์๋์ ์ฝ๋ฉ๋๋ก ๊ฐ๋ฅํ๋ค.
vercel --prod