Creating a website with Node.js, Express, and MySQL: Part 1 (Home, Profile, Directions, Contact)

Posted by


이 튜토리얼에서는 Node.js, Express 및 MySQL을 사용하여 간단한 웹사이트를 만드는 방법을 알려드리겠습니다. 이 웹사이트는 홈, 프로필, 찾아오는 길, 그리고 문의하기 페이지로 구성될 것입니다.

1. Node.js 및 Express 프로젝트 설정

먼저 Node.js를 설치한 후에는 Express 프레임워크를 설치해야 합니다. 먼저 프로젝트 폴더를 만든 후에 아래의 명령어를 실행하여 Express를 설치합니다:

npm install express

Express를 설치한 후, 프로젝트의 package.json 파일에서 main 항목을 app.js로 수정합니다. 그리고 아래와 같이 기본 서버를 설정합니다:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

이제 웹사이트에 홈 페이지를 만들었습니다.

2. MySQL 데이터베이스 설정

다음 단계로 MySQL 데이터베이스를 설정해야 합니다. MySQL을 설치하고 데이터베이스를 만들고 연결할 수 있는 모듈을 설치합니다:

npm install mysql

그리고 MySQL 데이터베이스에 연결하고 쿼리를 실행할 수 있는 데이터베이스 모듈을 작성합니다.

const mysql = require('mysql');

const db = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'mywebsite'
});

db.connect(err => {
  if (err) {
    throw err;
  }
  console.log('Connected to database');
});

module.exports = db;

이제 MySQL 데이터베이스에 연결할 수 있습니다.

3. 프로필, 찾아오는 길, 문의하기 페이지 추가

이제 Express 앱을 확장하여 프로필, 찾아오는 길, 그리고 문의하기 페이지를 추가합니다. 각각의 페이지를 위한 라우팅 및 뷰를 작성합니다.

app.get('/profile', (req, res) => {
  res.send('Profile page');
});

app.get('/contact', (req, res) => {
  res.send('Contact page');
});

app.get('/directions', (req, res) => {
  res.send('Directions page');
});

위와 같이 각 라우트에 대한 뷰를 작성한 후, 이제 MySQL 데이터베이스에서 해당 페이지에 표시할 콘텐츠를 가져올 수 있습니다.

이제 Node.js, Express 및 MySQL을 사용하여 간단한 웹사이트를 만드는 방법을 배웠습니다. 이어지는 튜토리얼에서는 각 페이지를 디자인하고 데이터베이스와 연결하는 방법 등을 더 자세히 설명할 것입니다. 만약 더 궁금한 점이 있다면 언제든지 질문해주시기 바랍니다. 감사합니다!

0 0 votes
Article Rating

Leave a Reply

17 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@bitcoin-trash
24 days ago

영상 감사합니다!
그런데 궁금한게 실제 업체들도 이런식의 구성으로 서비스를 하고 있나요??

@sunjongamy
24 days ago

으아아아아악 너무 궁금해요
let sql = `INSERT INTO reservation(name,contact,memo,update) VALUES('${name}','${contact}','${memo}', now())`

이런 식으로 DB 입력시간을 update 라고 했더니 계속 오류가 나더라구요,
처음에는 무슨 오류인지 몰라서 한참 해맸어요 ㅠㅠ date로 바꾸었더니 잘 됩니다.
혹시 왜 update를 쓰면 안되는지 아시는 분있나요?

@diablej3792
24 days ago

안녕하세요 오늘 열심히 따라가다가 planetScale에서 막혀버렸습니다. 혹시 이거 무료로 사용할 수 있는 대체 품이 없을까요??완성시키고 싶은데 부탁드립니다 😭

@헐-k6m
24 days ago

PlanetScale 유료화 되서 뒷부분 못 따라했네요..ㅠㅠ

@jihunyoo7804
24 days ago

오늘 처음 보고 따라 해보려고 하는대 planetscale이 무료가 아니라 유료로 전환 되었습니다 … 운도 지지리 없지 ㅠ.ㅠ 초보라 다른 방법을 좀 알려 주심 감사 하겠습니다

@tarroww
24 days ago

유익한 영상 올려주셔서 너무 감사합니다!!
저는 알려주신 설정상황중 mysql대신 postgreSQL로 설정해서 만들어봤습니다!
영상에는 없는 정보라 이것저것 정보를 모아 방금 데이터베이스에 정보가 들어가있는거 까지 확인했습니다!

다른댓글내용들과 같은 내용이지만 너무너무 감사드립니다!

@Fisherman-yd4uo
24 days ago

서기님 귀한 영상 감사드립니다.

@hl2lmm
24 days ago

planetScale MySQL말고 다른방법으로 db생성 + VSC를 연결할수 있나요 현재Hobby 버전으로 사용이 되지않네요

@ktwook7548
24 days ago

감사합니다!

@dkffhdp
24 days ago

좋은 영상 감사합니다!! 덕분에 많은 것을 배웠습니다!

@개시독
24 days ago

키보드 뭐 쓰시나요

@HiJames-uo9rs
24 days ago

와… 진짜 혼자서 뭐지? 뭐지? 하면서 고생하던게 한방에 싹!! 이해됩니다..ㅠ 계속계속 영상 많이 올려주세요!!

@sorryseori471
24 days ago

감사합니다.

@JHLee123
24 days ago

20대 중반 때 싱싱해 보면서 PHP 공부했는데, 저도 이제 40이 넘었습니다… ㅋㅋ 다시 처음부터 배워보고 싶네요~

@백산-q8t
24 days ago

형 몇부작 예상이야?

@박부장
24 days ago

노르웨이고등어 서기님?
우와~~php게시판 만들기 정말 잘봤었는데.
고등어도 한번 시켜먹고 ㅎㅎ.
구독박고 갑니다~

@cineraria100
24 days ago

서기님 자주 올려주세요 옜날 Php 시절 싱싱해때부터 팬입니다
쉽게 잘 설명 주셔서 항상 감사합니다

17
0
Would love your thoughts, please comment.x
()
x