OS에 따라 파일 또는 폴더의 경로 구분자를 표시하는게 다르다.
windows : 역슬래시 \
, 현재는 포워드 슬래시도 가능.
리눅스, 유닉스, 맥 : (포워드)슬래시 /
npm glob
을 사용하여 특정 폴더의 json을 불러오는데
우분투 환경에서는 잘되는 것이 윈도우 파워쉘에서는 못 불러옴.
윈도우 : C:\Users\user\Desktop\dir/test/json/**/*.json
우분투 : /mnt/c/Users/user/Desktop/dir/test/json/**/*.json
윈도우 부분을 보면 역슬래시와 포워드슬래시가 혼용되어 있어 생기는 문제였다.
왜 혼용되는가 보니
path.join(process.cwd(),"test", 'json','**','*.json')
;
process.cwd()이 운영체제의 path separator를 따르는 것에 반해
path.join로 path를 합쳐줄 때 포워드슬래시를 사용하기 때문 이었다.
현재의 windows의 경우 역슬래시 뿐만 아니라 포워드슬래시 또한 지원하므로
아래와 같이 path 구분자를 강제로 포워드슬래시
로 변경해주니 glob의 결과가 잘 나왔다.
path.join(process.cwd(),"test", 'json','**','*.json').split(path.sep).join("/");