Jieunny์˜ ๋ธ”๋กœ๊ทธ

S2) Unit 3. [JS] Node.js ๋ณธ๋ฌธ

CodeStates/learning contents

S2) Unit 3. [JS] Node.js

Jieunny 2023. 1. 18. 14:00

๐Ÿ“ฃ  Node.js

โœ”๏ธ '๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ JavaScript ๋Ÿฐํƒ€์ž„' ์ด๋‹ค.

โœ”๏ธ ๋ชจ๋“ˆ : ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์กฐ๋ฆฝํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋งŒ๋“  ๋ถ€๋ถ„์œผ๋กœ, ๊ทธ ์ค‘ fs(File System) ๋ชจ๋“ˆ์€ PC ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์ €์žฅํ•˜๋Š” ๋“ฑ์˜ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค.

 

๐Ÿ“ฃ  Node.js ๋‚ด์žฅ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

โœ”๏ธ Node.js ๋‚ด์žฅ ๋ชจ๋“ˆ ๋ชฉ๋ก : Node.js v16.14.2 Documentation

 

Index | Node.js v16.19.0 Documentation

 

nodejs.org

 

โœ”๏ธ fs ๋ชจ๋“ˆ์˜ ๋ฉ”์„œ๋“œ ๋ชฉ๋ก์„ ๋ณด๋ฉด readFile ๋ฉ”์„œ๋“œ๋กœ ํŒŒ์ผ์„ ์ฝ๊ณ , writeFile ๋ฉ”์„œ๋“œ๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

 

1๏ธโƒฃ ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

โžฐ Node.js ์—์„œ๋Š” JS ์ฝ”๋“œ ์ตœ์ƒ๋‹จ์— require ๊ตฌ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

const fs = require('fs'); // ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค
const dns = require('dns'); // DNS ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค

// ์ด์ œ fs.readFile ๋ฉ”์„œ๋“œ ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

 

๐Ÿ“ฃ  3rd-party ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

โœ”๏ธ ์„œ๋“œ ํŒŒํ‹ฐ ๋ชจ๋“ˆ : ํ•ด๋‹น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋นŒํŠธ์ธ ๋ชจ๋“ˆ์ด ์•„๋‹Œ '๋ชจ๋“  ์™ธ๋ถ€ ๋ชจ๋“ˆ'

 

1๏ธโƒฃ ๋ชจ๋“ˆ ๋‹ค์šด๋กœ๋“œ ํ•˜๊ธฐ

npm install underscore

 

2๏ธโƒฃ Node.js ๋‚ด์žฅ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋“ฏ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

const _ = require('underscore');

 

๐Ÿ“ฃ  Node.js ๊ณต์‹๋ฌธ์„œ ๊ฐ€์ด๋“œ ์ฝ๊ธฐ

1๏ธโƒฃ fs.readFile(path[,options], callback)

โžฐ fd.readFile ๋ฉ”์„œ๋“œ๋Š” ๋น„๋™๊ธฐ์ ์œผ๋กœ ํŒŒ์ผ ๋‚ด์šฉ ์ „์ฒด๋ฅผ ์ฝ๋Š”๋‹ค.

โžฐ path : ํŒŒ์ผ ์ด๋ฆ„์„ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค. (๋„ค ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ํƒ€์ž…์„ ๋„˜๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณดํ†ต string์„ ๋ฐ›๋Š”๋‹ค)

โžฐ options : ๋„ฃ์–ด๋„ ๋˜๊ณ  ์•ˆ ๋„ฃ์–ด๋„ ๋˜๋Š” ์ธ์ž๋กœ, ๋ฌธ์ž์—ด ๋˜๋Š” ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

     ๋ฌธ์ž์—ด์„ ๋ฐ›์œผ๋ฉด ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ๋ฐ›๋Š”๋‹ค.

โžฐ callback : ํŒŒ์ผ์„ ์ฝ๊ณ  ๋‚œ ํ›„์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

    ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” err, data ๋‘ ๊ฐ€์ง€๋ฅผ ๋ฐ›๊ณ , error๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด err์€ null์ด ๋˜๊ณ  data์—๋Š” ๋ฌธ์ž์—ด์ด๋‚˜ Buffer ๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์ „๋‹ฌ๋œ๋‹ค.

    data๋Š” ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด๋‹ค.

fs.readFile('test.txt', 'utf8', (err, data) => {
  if (err) {
    throw err; // ์—๋Ÿฌ๋ฅผ ๋˜์ง‘๋‹ˆ๋‹ค.
  }
  console.log(data);
});