Jieunny์ ๋ธ๋ก๊ทธ
S2) Unit 3. [JS] Node.js ๋ณธ๋ฌธ
๐ฃ Node.js
โ๏ธ '๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ JavaScript ๋ฐํ์' ์ด๋ค.
โ๏ธ ๋ชจ๋ : ์ด๋ค ๊ธฐ๋ฅ์ ์กฐ๋ฆฝํ ์ ์๋ ํํ๋ก ๋ง๋ ๋ถ๋ถ์ผ๋ก, ๊ทธ ์ค fs(File System) ๋ชจ๋์ PC ํ์ผ์ ์ฝ๊ฑฐ๋ ์ ์ฅํ๋ ๋ฑ์ ์ผ์ ํ ์ ์๊ฒ ๋์์ค๋ค.
๐ฃ Node.js ๋ด์ฅ ๋ชจ๋์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
โ๏ธ Node.js ๋ด์ฅ ๋ชจ๋ ๋ชฉ๋ก : Node.js v16.14.2 Documentation
โ๏ธ 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);
});
'CodeStates > learning contents' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
S2) Unit 4. [React] ๊ธฐ์ด (0) | 2023.01.20 |
---|---|
S2) Unit 3. [JS] fetch & Axios (0) | 2023.01.19 |
S2) Unit 3. [JS] ๋น๋๊ธฐ(Callback, Promise, Async/Await) (0) | 2023.01.17 |
S2) Unit 2. [JS] ํ๋กํ ํ์ (0) | 2023.01.13 |
S2) Unit 2. [JS] ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2023.01.13 |