Express
ํ์ต ํค์๋
Express
Express
๐ Express๋?
๐ค ์ด๋ค ๊ฐ๋ฐ์๊ฐ node.js๋ฅผ ์ฌ์ฉํด์ ์๋ฒ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ค.์๋ฒ๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ HTTP ํต์ ์ ์ํ ์ฌ๋ฌ๊ฐ์ง ์ค์ ์ ํด์ค์ผ ํ๋ ๊ณผ์ ์ ๋ณต์กํ๋ค.๊ทธ๋์ ์ฝ๊ฒ ์๋ฒ๋ฅผ ๊ตฌ์ฑ ํ ์ ์๊ฒ ๋ง๋ ํ๋ ์์ํฌ Express๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
Node.js๋ฅผ ์ํ ๋น ๋ฅด๊ณ ๊ฐ๋ฐฉ์ ์ธ ๊ฐ๊ฒฐํ ์น ํ๋ ์์ํฌ
Node.js๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ ์ ์๊ฒ ๋ง๋ ํด๋์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์งํฉ์ฒด
์น ์ดํ๋ฆฌ์ผ์ด์ , API ๊ฐ๋ฐ์ ์ํด ์ค๊ณ ๋์๋ค.
๐ค ๊ฐ๋จํ ์๋ฒ ์ฑ npm ํจํค์ง ์ธํ
(feat.Typescript)
์์ ํด๋ ์ค๋น
mkdir express-demo-app
cd express-demo-app
ํจํค์ง ์ด๊ธฐํ
npm init -y
.gitignore ํ์ผ ์์ฑ
echo CLI ๋ช ๋ น์ด๋ฅผ ํตํด node_modules ์ ์ธ ์ฒ๋ฆฌ
touch .gitignore
echo "/node_modules/" > .gitignore
TypeScript ์ค์น
npm i -D typescript
npx tsc --init
ts-node ์ค์น
์ปดํ์ผ์ ์์ด Node.js์์ ๊ฐ๋ฐ ํ๊ฒฝ์์ Typescript ์คํ ํ๊ธฐ ์ํด ์ค์น
npm i -D ts-node
ESLint
npm i -D eslint
npx eslint --init
? How would you like to use ESLint? โฆ
โฏ To check syntax, find problems, and enforce code style
? What type of modules does your project use? โฆ
โฏ JavaScript modules (import/export)
? Which framework does your project use? โฆ
โฏ None of these
? Does your project use TypeScript?
โฏ Yes
? Where does your code run? โฆ
โ Node
? How would you like to define a style for your project? โฆ
โฏ Use a popular style guide
? Which style guide do you want to follow? โฆ
โฏ XO: https://github.com/xojs/eslint-config-xo-typescript
? What format do you want your config file to be in? โฆ
โฏ JavaScript
? Would you like to install them now with npm?
โฏ Yes
? Which package manager do you want to use? โฆ
โฏ npm
Express ์ค์น
npm i express
npm i -D @types/express
Hello World ์์
app.ts ํ์ผ ์์ฑ ๋ฐ ์ฝ๋ ์์ฑ
touch app.ts
import express from 'express';
const port = 3000;
const app = express();
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
ts-node๋ก ์คํ
npx ts-node app.ts
์ฝ๋๋ฅผ ์์ ํ ๋๋ง๋ค ์๋ฒ๋ฅผ ์ฌ์คํํด์ผ ํ๋ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด nodemon ์ค์น
ts-node์ ๋ํ ์์กด์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ๊ผญ ts-node ์ค์น ํ ์ฌ์ฉ
์ค์ ์๋น์ค์์๋ ์ฌ์ฉํ์ง ์๋๋ค.
npm i -D nodemon
npx nodemon app.ts
package.json ํ์ผ scripts ์ถ๊ฐ
"scripts": {
"start": "nodemon app.ts",
"lint": "eslint --fix ."
},
๐ ์ฐธ๊ณ
Last updated