본문 바로가기

Programming/Node.js14

[Node.js/Nunjucks] 템플릿 엔진, 넌적스 지난 포스트에서 템플릿 엔진인 퍼그를 소개해드렸습니다. 하지만 기존 자바스크립트와는 문법이 조금 다른 형태를 취하고 있어서 오히려 더 어려울 수 있다는 생각이 들더라고요. 그래서 좀 더 직관적으로 쓸 수 있는 템플릿 엔진인 넌적스도 한 번 소개해드리려고 합니다. 1. 넌적스 사용 넌적스도 npm 패키지이기 때문에 npm을 통해 설치해줍니다. npm install nunjucks 퍼그와는 다르게 require를 통해서 사용합니다. 그리고 넌적스 파일은 퍼그가 .pug라는 전용 확장자를 이용한 것과 다르게 .html을 써도되고 .njk를 써도 됩니다. const express = require('express'); const path = require('path'); const nunjucks = requi.. 2021. 12. 7.
[Node.js/Pug] 템플릿 엔진, 퍼그 1. 템플릿 엔진 템플릿 엔진이란 템플릿의 양식과 데이터의 모델에 따른 입력 데이터를 결합해서 사용자가 원하는 결과 문서를 출력해주는 소프트웨어 또는 컴포넌트를 말합니다. 우리가 알아볼 템플릿 엔진은 웹 문서의 결과로 출력될 예정이니 웹 템플릿 엔진이라고 합니다. 템플릿 엔진을 이용하면 html 문서같은 경우 코드를 엄청나게 줄일 수 있고, 재사용하기에 편하다는 장점이 있어서 수 많은 템플릿 엔진들이 사용되고 있습니다. 2. 퍼그 Pug (구 Jade) Pug는 가장 인기있는 웹 템플릿 엔진 중 하나입니다. 문법이 간단하다는 특징이 있지만 기존 html 코드와는 크게 달라서 적응이 힘들 수도 있습니다. npm을 통해 설치합니다. npm install pug 그리고 다음과 같이 pug를 사용하기 위해 실행.. 2021. 12. 6.
[Node.js/express] 익스프레스 미들웨어 익스프레스에서 중요한 역할을 하고 있는 미들웨어를 알아보겠습니다. 1. 미들웨어와 익스프레스 미들웨어 미들웨어(Middleware)는 운영 체제와 응용 소프트웨어 사이에서 동작하는 중간자 소프트웨어입니다. 하지만 웹에서 말하는 미들웨어는 요청과 응답 중간에서 동작하는 것들을 미들웨어라고 부릅니다. 라우터 등이 대표적이 미들웨어의 일종입니다. 익스프레스에서는 이 미들웨어들을 핵심적으로 다루며 동작합니다. 기본적으로 .use()메소드로 미들웨어를 다루게 됩니다. .use(미들웨어) 지난번 코드에 미들웨어 다루는 것을 이어서 작성해보겠습니다. const express = require('express'); const app = express(); app.set('port', process.env.PORT ||.. 2021. 12. 5.
[Node.js/express] 익스프레스 2021.11.30 - [Programming/Node.js] - [Node.js] 첫 서버와 Hello world! [Node.js] 첫 서버와 Hello world! 모든 프로그래밍 언어를 배우다보면 항상 처음에 등장하는 동시에 그 언어의 성격을 맛 볼 수 있는 문구가 존재합니다. 'Hello world!'라고요. 우리는 이 포스트를 통해 노드로 처음 서버를 열어보 bamtory29.tistory.com http 모듈을 이용해서 서버를 열었었습니다. 하지만 이 방식에는 다양한 불편함이 따라옵니다. 그래서 이런 불편함을 해소하고자 npm에는 수 많은 서버 프레임워크들이 나타나게 되었습니다. express, koa 등이 노드 웹 서버 프레임워크들입니다. 저는 이 중에서 npm 다운로드 수가 압도적으로 높.. 2021. 12. 4.
[Node.js] 이벤트를 만들고 사용하기 웹에서 빠질 수 없는 이벤트. 그동안 몇 개의 포스트를 거쳐오며 이벤트를 여러번 만났었는데요. 노드에서는 내부적으로 이벤트를 호출하는 경우도 있지만 프로그래머가 직접 이벤트를 생성할 수 도 있습니다. 1. 이벤트 생성과 관리 메소드 이벤트 생성은 EventEmitter객체의 메소드를 통해서 할 수 있습니다. Event Emitter는 events 모듈 내에 포함되어있습니다. 아래 코드는 EvenEmitter객체를 만들고 객체의 메소드들을 실행해보는 코드입니다. const EventEmitter = require('events'); const myEvent = new EventEmitter();//EventEmitter객체 생성 //이벤트 만드는 방법1 myEvent.on('event1', () => { .. 2021. 12. 4.
[Node.js] 파일 시스템 모듈 그동안 배운 바닐라 자바스크립트, 리액트는 브라우저 상에서 작동하는 것이 위주였기 때문에 파일 시스템에 접근할 일이 없었습니다. 그래서 노드의 파일 시스템 모듈은 노드만의 특징이라고 할 수 있는 기능입니다. 1. 파일 시스템 모듈 소개와 버퍼 노드의 파일 시스템은 파일 시스템에 접근할 수 있는 모듈입니다. 접근이라 함은 다시말해 파일을 생성, 삭제, 수정, 읽기/쓰기가 가능하다는 것을 의미합니다. 기본적인 fs 모듈의 사용법입니다. 많은 메소드가 있지만 파일을 읽는 readFile()을 예로 들어보겠습니다. 모듈이기 때문에 require로 불러옵니다. readFile의 사용법은 다음과 같습니다. 첫 번째 인자로는 경로, 두 번째 인자로는 콜백 함수를 사용합니다. 이 콜백은 첫 번째 인자로 읽기를 실패할 .. 2021. 12. 4.
300x250