profile image

L o a d i n g . . .

Node를 사용해서 폴더 및 파일을 생성하는 코드 작성중 오류가 발생했다. data인자에는 스트링이 들어가야 한다는 에러였다.

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 (error) {
  console.log('///////////////////////////////////');
  console.log(error);
  console.log('///////////////////////////////////');
}

아니 저 forderName은 스트링이 맞는데 왜 자꾸 에러인가.. 라고 하고있던 찰나 

혹시나 라는 생각에 문서를 읽어봤다. 

 

컨트롤을 누르면 들어갈 수 있다. 여기에 2번째 인자로 data라는걸 받고있었다.

 

공식문서 사이트에도 1번째인자는 파일, 2번째 인자는 데이터를 필요로 하고있었다.

 

 

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 (error) {
  console.log('///////////////////////////////////');
  console.log(error);
  console.log('///////////////////////////////////');
}

그래서 두번째 인자에 빈 스트링을 넣어줬다. 

 

 

 

 

node 를 실행해보니 아주 잘들어왔다!

 

유데미 강의에서는 두번째 인자를 넣지않아도 잘 실행됐는데, 이유는 모르겠지만 나같은경우는 두번째 인자를 필수로 넣어줘야 해결이 됐다 ;0;

 

그냥 넘어갈까 했지만 그래도 해결해서 뿌듯하다. 공식문서의 중요성을 한번 더 느낀날!

 

 

 

 

 

참고:

- https://nodejs.org/api/fs.html#fswritefilesyncfile-data-options

반응형
복사했습니다!