filesystem 사용하기
과제 1
파일 정리하기, 원하는 폴더를 생성 후 파일들 넣기
정리할 폴더의 파일 이름들 읽어오기
파일 이름에 조건 달아서 존재하면 폴더 생성 후
파일을 생성한 폴더에 이동 시키기
이동할 폴더는 생성되어 있어야 한단다
그러므로 다시 정리
일단 fs 가져오기
const fs = require("fs");
이 파일 시스템은 동기/비동기 관련 함수를 제공한다.
세가지 형태 존재
===================================================
폴더 생성
const fs = require("fs");
// 풀더 생성
// 폴더 3개를 만들어야 하는데 이걸 배열로 만드는 법
const folderName = ['test/video', 'test/captured', 'test/duplicated'];
for (let i = 0; i < folderName.length; i++) {
try {
//만약에 이 폴더가 없으면 만들어줘
if (!fs.existsSync(folderName[i])) {
fs.mkdirSync(folderName[i])
}
} catch (err) {
console.error(err)
}
};
파일 목록 읽어오기
const dir = "./test"; // 파일 목록 읽어올 폴더
fs.readdir(dir, function (err, filelist) {
// fs모듈의 readdir함수를 사용해
// 첫번째 인자로 파일 목록을 읽을 폴더(dir)를 가져오고
// 콜백함수의 두번째 인자로 폴더(dir)의 파일목록(filelist)을 가져옴
console.log(filelist);
//배열을 foreach로 흩뿌려주기 (list를 string 으로)
filelist.forEach(function (element) {
console.log(element);
});
파일 확장자별로 찾기
경로 찾는 API (path)
const path = require('path')
여기서부터 남의 문법 봄.. 도대체 파일 이동은 어떻게 하는거래니?? rename이 답이더라
callback 에러가 자꾸 뜨는데 callback 함수를 정확히 모름 주의
https://www.youtube.com/watch?v=s1vpVCrT8f4
callback
내 함수를 나중에 다시 불러줘 (콜백함수)
비동기와 동기 타입이 존재한다.
hosting
모든 함수의 선언은 가장 먼저 호출됨 (hosting)
변수나 함수의 선언문을 유효범위의 최상단으로 끌어올려서 변수나 함수를 선언하기 이전에도 사용할 수 있도록 해주는 JavaScript의 특성
promise
https://www.youtube.com/watch?v=JB_yU6Oe2eE
callback 지옥 탈출구 promise (class)
제공자와 소비자로 나뉜다는걸 이해시키자
promise는 실행되자마자 바로 실행되니 주의하자. 불필요한 실행 주의
==============================================
여기서 발견한 문제들
이건 launch.json을 바꾸면 된다는데 (여기서 인자 전달)
"program": "${workspaceFolder}//app2.js",
"args": ["test"],
"restart": true,
"runtimeExecutable": "nodemon"
아무래도 program 경로쪽이 문제인듯 싶다.