ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS] chapter20. ๋น„๋™๊ธฐ2 - node.js
    codeStates front-end/Java Script 2023. 1. 19. 17:26
    ๋ฐ˜์‘ํ˜•

     

     

     

     

     

    ๐Ÿ“Œ ๋น„๋™๊ธฐ

     

     

    ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ž€, ํŠน์ • ์ฝ”๋“œ์˜ ์‹คํ–‰์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ

    js๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ๋™์ž‘ ์–ธ์–ด๋ผ์„œ ๋™๊ธฐ์  ์ž‘๋™์ด์ง€๋งŒ ํ™˜๊ฒฝ(๋Ÿฐํƒ€์ž„)์—์„œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ๋„์™€์ฃผ๊ธฐ ๋•Œ๋ฌธ์—

    ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋˜ํ•œ ๊ฐ€๋Šฅํ•˜๋‹ค.

     

     

    ๐Ÿ’ป node.js ๋ชจ๋“ˆ

     

    ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๋™๊ธฐ ํ๋ฆ„์€ ํƒ€์ด๋จธ ๋˜๋Š” dom ์ด๋ฒคํŠธ ๋“ฑ ๋‹ค์†Œ ํ•œ์ •์ ์ด์ง€๋งŒ,

    node.js ๊ฒฝ์šฐ ๋งŽ์€ API๊ฐ€ ๋น„๋™๊ธฐ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค.

     

    node.js ๋ž€?

     

    ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ javascript ๋Ÿฐํƒ€์ž„

     

    node.js ๋ชจ๋“ˆ

     

    ๋ชจ๋“ˆ - ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์กฐ๋ฆฝํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ 

    fs ๋ชจ๋“ˆ - pc์˜ ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์ €์žฅํ•˜๋Š” ๋“ฑ์˜ ์ผ์„ ๋„์™€์คŒ

     

     

    ๋‚ด์žฅ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•  - ๋งํฌ

     

    Node.js v16.14.2 Documentation

     

    Index | Node.js v16.19.0 Documentation

     

    nodejs.org

     

     

    ๐Ÿ“ ๋‚ด์žฅ ๋ชจ๋“ˆ - fs ๋ชจ๋“ˆ

     

    readFile - ํŒŒ์ผ์„ ์ฝ์„ ๋•Œ์— ์“ฐ๋Š” ๋ฉ”์„œ๋“œ

    writeFile - ํŒŒ์ผ์„ ์ €์žฅํ•  ๋•Œ์— ์“ฐ๋Š” ๋ฉ”์„œ๋“œ

     

    <script src="๋ถˆ๋Ÿฌ์˜ค๊ณ ์‹ถ์€_์Šคํฌ๋ฆฝํŠธ.js"></script> // ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณผ์ •
    // js ์ฝ”๋“œ ์ƒ๋‹จ์— require ๊ตฌ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค
    const fs = require('fs'); // ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค
    const dns = require('dns'); // DNS ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค
    
    // ์ด์ œ fs.readFile ๋ฉ”์„œ๋“œ ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

     

     

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

     

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

     

    ์‹ค์Šต) underscore ์„ค์น˜ ํ›„ ์‚ฌ์šฉ

     

    npm install underscore // ํ„ฐ๋ฏธ๋„์—์„œ underscore ์„ค์น˜
    const _ = require('underscore'); // ๋‚ด์žฅ ๋ชจ๋“ˆ ์‚ฌ์šฉํ•˜๋“ฏ ์‚ฌ์šฉ

     

     

    ๐Ÿ“ fs.readFile(path[, options], callback)

     

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

    ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ์—๋Š” ์ „๋‹ฌ์ธ์ž๋ฅผ 3๊ฐœ ๋ฐ›๋Š”๋‹ค

     

    path : <string> <Buffer> <URL> <integer>

    ํŒŒ์ผ ์ด๋ฆ„์„ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค ์ผ๋ฐ˜์ ์œผ๋ก  string ํƒ€์ž…์„ ๋ฐ›๋Š”๋‹ค

    options : <Object> <string>

    ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๊ณ  ๋„ฃ์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋Œ€๊ด„ํ˜ธ๋Š” ์„ ํƒ์  ์ „๋‹ฌ์ธ์ž๋ฅผ ์˜๋ฏธ

    ๋ฌธ์ž์—ด ๋˜๋Š” ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ›๋Š”๋‹ค. ex) utf-8

    callback : <Function>

    ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ, ํŒŒ์ผ์„ ์ฝ๊ณ  ๋‚œ ํ›„์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜

    ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ๋‘ ๊ฐ€์ง€ ๋งค๊ฒŒ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌ

    • err \<Error> | \<AggregateError>
    • data \<string> | \<Buffer>

    err๋Š” null ์ด ๋˜๋ฉฐ, data๋Š” ๋ฌธ์ž์—ด์ด๋‚˜ buffer๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์ „๋‹ฌ๋œ๋‹ค. data๋Š” ํŒŒ์ผ ๋‚ด์šฉ

     

     

    ์˜ˆ์ œ ์ฝ”๋“œ

     

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

     

     

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.