The Web Developer 부트캠프 2022

Node js 비동기화,동기화, FS 모듈

거위발바닥 2022. 9. 28. 19:00
const fs = require('fs');

 

비동기화
node.js의 메소드를 사용하기 위해 fs 변수가 필요하니 js에서 선언을 한다.

const fs = require('fs');
console.log(fs)

fs.mkdir('Dogs', { recursive: true }, (err) => {
    console.log("In the callback!!")
    if (err) throw err;
});

이후 해당 js를 node js로 실행시 Dogs라는 폴더가 생성된다. 

 

동기화

const fs = require('fs');
console.log(fs)

fs.mkdirSync('Cats');
console.log("I come after mkdir in the file!!")

위 코드는 동기화 코드이며 Cats 폴더를 만든다.

 

인수를 받아들이는 명령어

const fs = require('fs');
const folderName = process.argv[2] || 'Project' // 인수를 받아들임
console.log(fs)

fs.mkdirSync(folderName);

위 코드는  process.argv[2]는 node 입력의 2번째 배열을 받아들여 folderName으로 변수 선언하는 인수를 받는 코드이다.

node args.js Chickens

위 코드를 터미널에 입력하면 위 코드 배열의 2번째인 Chickens을 인식하고 fs.mkdirSync(Chickens) 으로 인식해

Chickens 폴더를 만든다. 

 

응용

const fs = require('fs');
const folderName = process.argv[2] || 'Project' // 인수를 받아들임
try {
    fs.mkdirSync(folderName);
    fs.writeFileSync(`${folderName}/index.html`, "")
    fs.writeFileSync(`${folderName}/app.js`, "")
    fs.writeFileSync(`${folderName}/styles.css`, "")
} catch (e) {
    console.log("fuc!")
}

writeFile을 이용하여 폴더 경로에 파일을 만드는 코드이다.

동기화이기 때문에 try catch로 에러를 잡았다. 

'The Web Developer 부트캠프 2022' 카테고리의 다른 글

NPM, Package.json  (0) 2022.09.29
Node js 모듈과 NPM  (0) 2022.09.28
Node.js 기본  (0) 2022.09.28
터미널 명령어  (0) 2022.09.28
JS Class Super, Extend  (0) 2022.09.27