------------------------------------------------------------
내가 만들고 싶은 목표!
: node를 사용한 자동 패치 배포 파일 만들기...
: 매번 패치파일을 만들어야할때, build되었던 파일을 일일히 수동으로 디렉토리를 만들어주고, 파일을 넣어줘야했지만
: 앞으로는 Root 디렉토리를 지정하고, Tree 형태로 파일을 선택하여 패치 파일 생성 버튼만 누르면
: 짜잔!! 하고 zip형태로 나오는게 목표임.
-> 매번, 덜렁대서 배포할 파일 스펠링 조금씩 틀림!! ㅠㅅㅜ
------------------------------------------------------------
1) File 정보를 확인하는 함수들.. (File System = fs)
var fs = require('fs'); fs.stat('./stat.js', function(err, stats){ if(err){ throw err; } console.log(stats); console.log('is file : '+stats.isFile()); });
2) 겸사겸사 파일 생성하는 fs 와우..짱인데...
var fs = require('fs'); fs.writeFile('./example.txt','hello world!!', encoding='utf-8',function(err){ if(err) throw err; console.log('file writed'); });
3) 디렉토리 생성 기능 오오오오오오오오오
fs.mkdir('./exampleDir', '0777', function(err){ if(err) throw err; console.log('dir writed'); }); //fs.unlink(); //파일을 삭제. //fs.rmdir();//디렉토리를 삭제 //fs.realpath();//절대경로
4) 파일 리스트만 읽는게 있다면 최곤데...
역시 있다!!!
var path = require('path'); console.log(path.normalize('C:\Windows\system32')); var rootPath1 = path.dirname('C:\Windows\system32'); console.log('root path1 : '+rootPath1);//return c:\ var rootPath2 = path.join('c:\\','windows','system32'); console.log('root path2 : '+rootPath2); //return 이건 제대로 리턴함. //하지만 안타깝게도..'c:\node\a\windows\Music' //실행시킨 경로 + 더해가는방식임... //var process = require('process'); //process는 전역객체인듯.. process.chdir('c:\\windows');//됫당!!
현재 경로에서 타고 들어갈때는 path를 사용하는 맞지만,
Root를 변경해야할 경우(ex C:\에서 D:\로 갈아타야할 경우가튼)
process를 통해
process.chdir를 사용해야한닷!!!
6) 자, 그럼 완성본!! 오~!!! 할렐루야~!!!
Root Path를 변경한 후, 그에 대한 파일들을 읽어 오는 것을 확인 할 수 있당!!
이제 이것을 Tree 구조의 JSON형태로만 만들어 나타내면
View단은 완료!!
//var process = require('process'); process.chdir('c:\\windows'); console.log(process.cwd()); var fs = require('fs'); var results = []; fs.readdir('.',function(err,list){ if(err) throw err; console.log('dir length : '+list.length); list.forEach(function(file){ fs.stat(file,function(err, stat){ if(err) throw err; console.log('file : '+file); console.log('isFile : '+stat.isFile()+' , isDir : '+stat.isDirectory()); }); }); });
/** 그외 짬찌~ Network */ var net = require('net'); var server = net.createServer(function(socket){ console.log('Server Created'); socket.on('end',function(){ console.log('Server die'); }); socket.write('hello \r\n');//캐리쥐 리턴과 개행처리 }); server.listen(8124,function(){ console.log('%d connection',server.address().port); }); /** Child Process */ var exec = require('child_process').exec; exec('dir',function(error,stdout,stderr){ console.log('stdout : '+stdout); console.log('stderr : '+stderr); if(error!==null){ console.log('exec error:'+error); } });
'웹 개발 > 자바스크립트 기초' 카테고리의 다른 글
[jQuery] 특정 Scroll 위치로 이동시키기 (0) | 2014.05.28 |
---|---|
[ Javascript ] javascript 참조 방법 (0) | 2009.06.25 |
[Javascriprt] 자주사용하는 옵션들. (0) | 2009.06.25 |
[Javascript 기초] 자바스크립트 기초 (0) | 2009.06.25 |