본문 바로가기

nodejs30

Node.js에서 Fetch 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Fetch 사용하는 방법에 대해서 알아보겠습니다. Fetch를 사용해서 JSON 포맷의 API를 핸들링해서 찾고자 하는 데이터의 값을 구할 수 있습니다. Fetch는 다음과 같이 사용할 수 있습니다. fetch('http://json-format-api-link?search=games').then((response) => { response.json().then((data) => { if(data.error) { console.log(data.error) } else { console.log(data.title) console.log(data.price) } }) }) fetch를 쓸때는 response를 then 을 사용해서 받게됩니다. 비동기적인 방식.. 2020. 1. 20.
Node.js에서 query 값을 받아서 핸들링하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 query 값을 받아서 핸들링하는 방법에 대해서 알아보겠습니다. $ mkdir query-string $ cd query-string $ touch app.js $ npm init $ npm install express query-string 폴더를 만들고, query-string 폴더 안으로 이동해서 app.js 파일을 만들고, npm 초기화해서 package.json파일을 만듭니다. 그리고 서버를 사용하기 위해 express 를 설치합니다. app.js 파일을 다음과 같이 작성합니다. const express = require('express') const app = express() app.get('', (req, res) => { res.send(.. 2020. 1. 18.
Node.js에서 404 Page not found 페이지 설정하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 404 Page not found 페이지 설정하는 방법에 대해서 알아보겠습니다. express.js와 handlebar.js의 express view engine인 hbs를 설치 후 페이지 템플릿 설정이 되어있는 상태에서 시작합니다. 이전 포스트를 참고 부탁 드립니다. https://smilehugo.tistory.com/entry/nodejs-how-to-use-hbs-external-module Node.js에서 hbs 외장모듈 사용하는방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 hbs외장모듈 사용하는 방법에 대해서 알아보겠습니다. hbs 외장 모듈은 템플릿을 정의하는 handlebar.js의 express.js view engine입니다... 2020. 1. 11.
Node.js에서 hbs 외장모듈 사용하는방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 hbs외장모듈 사용하는 방법에 대해서 알아보겠습니다. hbs 외장 모듈은 템플릿을 정의하는 handlebar.js의 express.js view engine입니다. hbs를 사용해서 html의 반복되는 구성요소를 분리해서 만들어두고 필요한 곳에서 사용할 수 있게 만들 수 있습니다. hbs는 handlebar.js의 epxress.js view engine 이므로, express를 설치후에 hbs를 설치하도록 합니다. $ npm install express $ npm install hbs 프로젝트 루트 폴더에서 public 폴더를 만들고 그 안에 index.html 파일을 다음과 같이 작성합니다. Hello World Created by Hyukho ind.. 2020. 1. 10.
Node.js에서 Path 내장모듈 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Path 내장모듈 사용하는 방법에 대해서 알아보겠습니다. Path 모듈은 폴더의 경로를 지정하는데 사용됩니다. app.js를 다음과 같이 작성합니다. const path = require('path') console.log(path.join(__dirname,'../')) __dirname 은 현재 폴더위치를 나타냅니다. 그리고 ../ 는 상위폴더로 이동입니다. D:\hugo\playground\nodejs\basics 에서 node app.js 를 실행하면, 코드 실행한 폴더 [D:\hugo\playground\nodejs\basics] $ node app.js D:\hugo\playground\nodejs\ 한단계 상위폴더를 출력하는 것을 확인할 수 .. 2020. 1. 10.
Node.js에서 현재 실행중인 파일의 경로 출력하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 현재 실행중인 파일의 경로를 출력하는 방법에 대해서 알아보겠습니다. 지난번에 현재 위치한 폴더의 경로를 출력하는 방법과 매우 유사합니다. 파일의 경로는 __filename 폴더의 경로는 __dirname 으로 값을 얻을 수 있습니다. app.js를 다음과 같이 작성합니다. const currentFilename = __filename console.log(currentFilename) 변수 currentFilename 에 현재 실행중인 파일의 전체 경로를 저장하고 console.log를 통해서 해당 변수를 출력하는 코드입니다. 다음 명령어를 실행하면, $ node app.js 현재 실행중인 파일의 전체경로가 출력되는 것을 확인할 수 있습니다. 이렇게 No.. 2020. 1. 9.
Node.js에서 현재 폴더 경로 출력하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 현재 폴더 경로를 출력하는 방법에 대해서 알아보겠습니다. 프로그래밍을 하다보면 현재 폴더 경로를 출력하거나 변수로 받을 경우가 있는데요. 수동으로 일일히 타이핑하지 말고, 프로그래밍을 하는 개발자 답게 현재 파일이 실행되는 폴더 경로를 출력하는 방법에 대해서 설명을 드리도록 하겠습니다. app.js를 다음과 같이 작성합니다. const currentDirectory = __dirname console.log(currentDirectory) 그리고 다음 명령어를 통해 실행해봅니다. $ node app.js 그럼 현재 폴더 경로가 표시되는 것을 확인할 수 있습니다. 이렇게 Node.js에서 현재 폴더 경로를 출력하는 방법에 대해서 알아봤습니다. 유용하셨다면,.. 2020. 1. 9.
Node.js에서 서버 구동해서 기본폴더 지정해서 디폴트 index.html 파일 보여주는 방법 안녕하세요. 혀코입니다. 저번에 Node.js에서 서버를 구동한 다음 html 파일을 보여주는 것에 대해 알아보았는데요. 이번에는 지난번과 다른 방법인 기본폴더를 지정해서 디폴트 index.html 파일을 보여주는 것에 대해 알아보겠습니다. 지난번 실행했던 코드는 다음과 같습니다. This is index.html const express = require('express') const app = express() app.get('', (req, res) => { res.sendFile(__dirname + '/index.html') }) app.get('/about', (req, res) => { res.send('This is About Page') app.listen(3000, () => { con.. 2020. 1. 9.
Node.js에서 Express로 서버 구동하고 html 파일 보여주는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Express로 서버 구동하고 html 파일 보여주는 방법에 대해서 알아보겠습니다. 지난번에 Node.js에서 Express로 서버 구동하고 웹페이지까지 추가하는 방법에 대해서 알아봤는데요. const express = required('express') const app = express() app.get('', (req, res) => { res.send('I am Iron Man') }) app.get('/about', (req, res) => { res.send('This is About Page') }) app.listen(3000, () => { console.log('I love you 3000') }) 위의 코드처럼 해당 페이지에 res.s.. 2020. 1. 9.
Node.js에서 Express로 서버 구동한 후 웹페이지 추가하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Express로 서버 구동한 후 웹페이지 추가하는 방법에 대해서 알아보겠습니다. 지난번에 Express로 서버 구동하는 방법까지 알아봤습니다. const express = require("express") const app = express() app.get('', (req, res) => { res.send('I am Iron Man') }); app.listen(3000, () => { console.log('I love you 3000.') }); 그래서 메인페이지에 'I am Iron Man' 이 표시되는 것까지 확인했습니다. 이제는 추가로 페이지를 만들어 보겠습니다. const express = require("express") const app.. 2020. 1. 9.
Node.js에서 ES6 기능인 Object destructuring 사용하는 방법 안녕하세요. 혀코입니다. Node.js에서 ES6 기능인 Object destructuring을 사용하는 방법에 대해서 알아보겠습니다. app.js를 다음과 같이 작성합니다. const product = { label: 'Avengers Shirt' price: 50 stock: 7 } const label = product.label const price = product.price console.log(label) console.log(price) 여기서, label과 price 변수에 product object의 각 key값에 해당하는 value를 할당하기 위해서 각각 product.label, product.price 이렇게 지정했는데요. ES6에서 지원하는 기능인 object destructur.. 2020. 1. 8.
Node.js에서 Callback function을 사용해서 새로운 지역의 위도와 경도를 얻는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 callback function을 사용해서 새로운 지역의 위도와 경도를 얻는 방법에 대해서 알아보겠습니다. const geocode = (address, callback) => { const url = 'https://api.mapbox.com/geocoding/v5/mapbox.places/' + address + '.json?access_token={{api-key}}' request({ url: url, json: true}, (error, response) => { if (error) { callback('Unable to connect to location services!', undefined) } else if (response.body.fe.. 2020. 1. 6.
Node.js에서 callback function을 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 callback function을 사용하는 방법에 대해서 알아보겠습니다. app.js를 다음과 같이 작성합니다. setTimeout(() => { console.log('Two seconds are up') }, 2000) const names = ['Andrew', 'Jen', 'Jess'] const shortNames = names.filter((name) => { return name.length { const data = { latitude: 0, longitude: 0 } return data } const data = geocode('Philadelphia') console.log(data) 다음 코드를 실행하면, $ node app.js g.. 2020. 1. 6.
Node.js에서 Request를 사용해서 API 사용할때 에러 핸들링 하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Request를 사용해서 API 사용할때 에러 핸들링 하는 방법에 대해서 알아보겠습니다. 에러가 나는 상황은 크게 두가지가 있습니다. 네트워크 오류 또는 해당하는 데이터가 없는 오류가 있습니다. 다음 app.js코드에서 Request를 사용해서 mapbox.com에서 제공하는 api를 사용하여 위도와 경도 좌표를 구하고 있습니다. const request = require('request') const geocodeURL = 'https://api.mapbox.com/geocoding/v5/mapbox.places/Los%20Angeles.json?access_token={{api-key}}&limit=1' request({url: geocodeURL, .. 2020. 1. 6.
Node.js에서 Request를 사용해서 도시의 위도 경도 좌표를 얻는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 request를 사용해서 도시의 위도, 경도 좌표를 얻는 방법에 대해서 알아보겠습니다. 특정 도시의 위도와 경도 좌표를 얻기 위해서 mapbox.com에서 제공하는 api를 사용하겠습니다. https://www.mapbox.com/ Mapbox An open source mapping platform for custom designed maps. Our APIs and SDKs are the building blocks to integrate location into any mobile or web app. www.mapbox.com 회원가입한 다음 로그인해서 다음 페이지로 이동한 다음 아래로 스크롤 하면 'Example request: Forward g.. 2020. 1. 6.
Node.js에서 Request를 사용해서 날씨 API를 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Request를 사용해서 날씨 API를 사용하는 방법에 대해서 알아보겠습니다. 여기서 사용할 API는 darksky에서 제공하는 날씨 정보 API를 사용해 보겠습니다. https://darksky.net/dev Dark Sky darksky.net 회원가입을 하고 로그인을 하면 api를 사용할 수 있는 권한을 얻을 수 있습니다. api는 url 형태로 제공되고 해당 url로 접속하면 json 형태의 data가 들어있습니다. App을 만들 폴더를 만들고 app.js파일을 생성하고 npm 초기화해서 package.json 파일을 생성합니다. $ mkdir weather-app $ cd weather-app $ touch app.js $ npm init -y .. 2020. 1. 6.
Node.js를 사용해서 Notes 앱 만드는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js를 사용해서 Notes 앱 만드는 방법에 대해서 알아보겠습니다. app.js를 다음과 같이 작성합니다. const yargs = require('yargs') // 사용자로부터 명령어를 받는다. const notes = require('./notes.js') // 노트 추가, 삭제, 리스트, 읽기등의 함수를 가진다. yargs.command({ // 노트를 추가할 수 있는 명령어를 정의한다. command: 'add', // 명령어 describe: 'Add a new note', //설명 builder: { // 옵션 2개 title과 body를 가진다. title: { describe: 'Note title', // 옵션 설명 demandOption: tr.. 2020. 1. 3.
Node.js에서 Arrow function 사용하는 방법 안녕하세요. 혀코 입니다. 오늘은 Node.js에서 Arrow function을 사용하는 방법에 대해서 알아보겠습니다. #1 숫자 하나를 받아서 그 숫자의 제곱을 구하는 일반적인 함수를 구현해 보겠습니다. const square = function (x) { return x * x } console.log(square(3)) 위의 일반 함수를 Arrow function으로 나타내면 다음과 같이 작성할 수 있습니다. const square = (x) => { return x * x } console.log(square(3)) 또한 아래처럼 return 키워드 없이 한줄로 작성할 수 있습니다. const square = (x) => x * x console.log(square(3)) 위와같이 작성된 코드의 .. 2020. 1. 3.
Node.js에서 JSON 데이터 추가하는 방법(readFileSync, push, writeFileSync) 안녕하세요. 혀코입니다. 오늘은 Node.js에서 JSON 데이터를 추가하는 방법에 대해서 알아보겠습니다. app.js 를 다음과 같이 작성합니다. const yargs = require('yargs') const notes = require('./notes.js') // Customize yargs version yargs.version('1.1.0') // Create add command yargs.command({ command: 'add', describe: 'Add a new note', builder: { title: { describe: 'Note title', demandOption: true, type: 'string' }, body: { describe: 'Note body', dem.. 2020. 1. 2.
Node.js에서 JSON 파일에 데이터를 저장하고 읽는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 JSON 파일에 데이터를 저장하는 방법에 대해서 알아보겠습니다. app.js 파일을 다음과 같이 작성합니다. const book = { title: 'Ego is the Enemy', author: 'Ryan Holiday' } const bookJSON = JSON.stringify(book) console.log(bookJSON) 다음 명령어를 실행해 보겠습니다. $ node app.js 결과는 다음과 같이 출력되는 것을 확인할 수 있습니다. {"title":"Ego is the Enemy","author":"Ryan Holiday"} 이번에는 author에 해당하는 값만 출력하는 방법에 대해서 알아보겠습니다. app.js 파일을 다음과 같이 작성합니.. 2020. 1. 2.
Node.js에서 yargs npm 모듈 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 yargs npm 모듈을 사용하는 방법에 대해서 알아보겠습니다. $ touch app.js $ npm init $ npm install yargs app.js를 만들고 npm 초기화를 하고, yargs npm 라이브러리를 설치했습니다. yargs npm 라이브러리를 사용하기 위해서 app.js 상단에 포함시켜 줍니다. const yargs = require('yargs') console.log(process.argv) console.log(yargs.argv) 이렇게 app.js 를 업데이트 해주고, node 명령어를 실행해 줍니다. $ node app.js 그러면 다음과 같은 결과가 나타납니다. [ 'D:\\Programs\\nodejs\\node.ex.. 2019. 12. 27.
Node.js에서 추가 명령어 받아 처리하는 방법(process.argv) 안녕하세요. 혀코입니다. 오늘은 Node.js에서 추가로 명령어를 받아서 처리하는 방법에 대해서 알아보겠습니다. $ touch app.js $ npm init $ npm install chalk app.js 파일을 만들고 npm 초기화해서 package.json 파일을 생성하고 chalk npm 모듈을 설치했습니다. 먼저 app.js를 다음과 같이 작성한 상태에서 시작하겠습니다. const chalk = require('chalk') console.log(chalk.green.inverse("Green Man")) chalk npm 모듈을 사용하기 위해 제일 상단에 chalk 가 필요하다고 설정하고 Green Man 이 녹색 배경에 검은색 글자로 표시되도록 설정했습니다. 여기서 Node 명령어를 실행하면.. 2019. 12. 27.
Node.js에서 chalk npm 모듈 사용하는 방법 안녕하세요 혀코입니다. 오늘은 Node.js에서 chalk npm 모듈 사용하는 방법을 알아보겠습니다. $ touch app.js $ npm init $ npm install chalk app.js를 만들고 npm 초기화를 통해서 package.json 파일을 생성하고 chalk npm 모듈을 설치했습니다. chalk npm 모듈을 사용하기 위해서 app.js를 다음과 같이 업데이트 합니다. const chalk = require('chalk') console.log(chalk.green('Green Man')) 이렇게 하고 다음 명령어를 실행하면, $ node app.js 'Green Man'이 녹색으로 표시되는 것을 확인할 수 있습니다. 이번에는 inverse 옵션을 통해서 글자색이 아닌 배경색이 녹.. 2019. 12. 27.
Node.js에서 validator npm 모듈 사용하는 방법 (이메일 형식, URL 형식 확인) 안녕하세요. 혀코입니다. 오늘은 Node.js에서 validator npm 모듈 사용하는 방법에 대해 알아보겠습니다. $ touch app.js $ npm init $ npm install validator app.js를 만들고 npm init 커맨드를 통해서 package.json파일을 만들었습니다. 그리고 오늘 알아볼 validator npm 모듈을 설치했습니다. app.js 파일을 다음과 같이 코딩해서 이메일 형식이 올바른지 확인을 해 보겠습니다. const validator = require('validator') console.log(validator.isEmail('ironman@fakemail.com')) 이렇게 하고 다음 명령어를 실행하면 $ node app.js true를 반환합니다. 이.. 2019. 12. 27.
Node.js로 직접 모듈 만들어 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 직접만든 모듈을 사용하는 방법에 대해서 알아보겠습니다. 메인파일 app.js 파일을 만들고 다음과 같이 코딩합니다. const name = "Iron Man" console.log(name) 이렇게 하고 다음 명령어를 실행하면, $ node app.js 'Iron Man'이 표시가 되는 것을 확인할 수 있습니다. 동일한 폴더에 'custom-module.js'를 만들고 다음과 같이 코딩합니다. console.log("custom-module.js") 그 다음 app.js 파일도 다음과 같이 코딩합니다. require('./custom-module.js') const name = "Iron Man" console.log(name) 이렇게 하고 다음 명령어를.. 2019. 12. 27.
Node.js 파일 생성,수정,확장 방법(writeFileSync, appendFileSync) 안녕하세요. 혀코입니다. 오늘은 Node.js로 txt 파일을 생성하고 수정하고 확장하는 방법에 대해서 알아보겠습니다. app.js 파일을 만들고 다음과 같이 코딩합니다. const fs = require('fs'); fs.writeFileSync('app.txt','app.txt is created!'); 파일을 만들기 위해서는 fs(file system) node module를 포함해야 합니다. 다음 명령어를 실행합니다. $ node app.js app.txt 파일이 만들어졌고 안에 'app.txt is created!'가 표시되어 있는 것을 확인할 수 있습니다. 이번에는 app.js 파일을 다음과 같이 업데이트해 보겠습니다. const fs = require('fs'); fs.writeFileSyn.. 2019. 12. 26.
Node.js 콘솔(REPL) 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js 콘솔(REPL: Read Eval Print Loop)을 사용하는 방법에 대해 알아보겠습니다. 간단히 node 명령어를 실행하면 node.js와 자바스크립트를 실행할 수 있는 Node.js 콘솔(REPL)을 사용할 수 있습니다. $ node 다음으로 가장 기본적인 사용방법에 대해 알아보겠습니다. 덧셈 연산하는 방법 > 1 + 2 3 문자열을 더하는 방법 > "Hello" + " " + "World" Hello World 알파벳 문자열을 모두 대문자로 변경하는 방법 > 'Hugo'.toUpperCase() 'HUGO' 함수 사용하는 방법 > f = function(x) { return x * 3 } > f(4) 12 그리고 마지막으로 Node.js 콘솔(REP.. 2019. 12. 26.
Node.js로 신체질량지수(BMI) 계산하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js로 신체질량지수(BMI)를 계산하는 방법에 대해 알아보겠습니다. $ mkdir bmicalculator $ cd bmicalculator $ touch bmicalculator.js $ npm init $ npm install express $ npm install body-parser bmicalculator 폴더를 만들고 bmicalculator.js를 생성한다음 Node Package Module(NPM)을 초기화 세팅한 후에 express와 body-parser를 설치합니다. bmicalculator.js를 다음과 같이 코딩합니다. //jshint esversion:6 const express = require("express"); const bodyP.. 2019. 12. 24.
Node.js로 두 숫자의 합을 구하는 방법(POST, Body-parser) 안녕하세요. 혀코입니다. 오늘은 Node.js로 두개의 값을 폼으로 받아서 간단한 덧셈연산을 할 수 있는 웹사이트를 만드는 방법에 대해 알아보겠습니다. $ mkdir calculator $ cd calculator $ touch calculator.js $ npm init $ npm install express calculator 폴더를 만들고 그 폴더안으로 이동해서 calculator.js 파일을 만들고 npm 초기화 세팅 후, express를 설치합니다. calculator.js 파일을 다음과 같이 업데이트 합니다. //jshint esversion:6 const express = require("express"); const app = express(); app.get("/",function(res.. 2019. 12. 24.
Node.js 서버 업데이트할때 자동으로 재시작 하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js 서버 업데이트할때 자동으로 재시작하는 방법에 대해 알아보겠습니다. Node.js 서버를 업데이트할때 자동으로 재시작 하려면 Nodemon을 설치해야 합니다. 다음 명령어를 실행시켜서 Nodemon을 설치합니다. $ npm install -g nodemon Access 권한에러가 난다면 아래 명령어를 실행시켜서 Nodemon을 설치합니다. $ sudo npm install -g nodemon 제대로 설치가 되었나 확인 해보겠습니다. server.js를 다음과 같이 작성합니다. //jshint esversion:6 const express = require("express"); const app = express(); app.get("/", function(re.. 2019. 12. 20.