래퍼런스에서 설명한 fs.writeFile() 메소드를 보면, 전달인자 값으로 생성할 파일 이름(filename), 내용(data) 외에 추가로 옵션(options), 콜백(callback)도 전달할 수 있습니다.
앞서 작성한 코드에 파일 이름과 내용은 입력했으니 (이상하다..난 저 두개만입력하면 오류났었음..)
이제 옵션과 콜백 전달인자를 설정해 보겠습니다.
옵션은 필수 사항이 아니라 선택사항이니 생략해도 무방합니다.
옵션을 사용하려면 자바스크립트 객체 형태로 입력해야 하며,
객체 속성(properties)으로 인코딩(encoding), 모드(mode), 플래그(flag) 등을 설정할 수 있습니다.
콜백은 fs.writeFile() 메소드가 새 파일을 생성하는 일을 끝낸 후에 수행하는 일(function)입니다.
즉, 일이 다 끝났을 때 어떤 일을 수행하고 싶다면 설정합니다.
이 또한 선택사항이므로 입력한 코드만으로도 새 파일을 생성할 수 있습니다. (음..난 왜 안됐지..)
래퍼런스를 참조하여 다음과 같이 코드를 추가합니다.
변수 options를 선언하고 파일 인코딩을 utf8로 설정하는 옵션을 자바스크립트 객체 형태로 할당합니다.
var fs = require('fs');
console.log('문서 쓰기 프로세스 시작...');
var cssDoc = '#nodejs {margin:0;}';
var options = {encoding: 'utf8'};
fs.writeFile(
'files/style.css',
cssDoc,
options,
function(){
console.log('files/style.css 파일 생성');
}
);
console.log('문서 쓰기 프로세스 끝');
Git Bash에서 node writeFile.js 명령어를 실행하면 비동기적으로 코드를 수행합니다.
프로세스 시작과 프로세스 끝 메시지를 출력한 후 마지막에 fs.writeFile() 메소드 코드를 수행한 결과를 출력합니다.