-
[Node.js] 개요 - CRUD(Create, Read, Update, Delete)생활코딩/WEBn 2020. 9. 10. 19:50
[강의 출처] opentutorials.org/course/3332
CRUD(Create, Read, Update, Delete)
- fs(file system) 모듈을 이용. 보통 아래 형태로 모듈을 호출
- const fs = require('fs');
Create file
var fs = require('fs'); fs.writeFile('sample.txt', 'content', 'utf8', function(err){ // console.log(err); });
Read file
var fs = require('fs'); // fs 모듈 호출 fs.readFile('sample.txt', 'utf-8', function(err, data){ console.log(data); // sample.txt의 내용 출력 });
Read Directory
var fs = require('fs'); // fs 모듈 호출 var dir = './data'; fs.readdir(dir, function(err, files){ console.log(files); // ['data', '폴더내의', '파일명', '어레이'] 출력 });
Rename file
var fs = require('fs'); // fs 모듈 호출 fs.rename(`old file path`, `new file path`, function(err){ };
콘솔에서 arguments 입력받기
js에서는 process.argv로 콘솔에 입력된 데이터 어레이를 가져올 수 있다. 예를 들어 sample.js의 내용이 아래와 같을 때,
console.log(process.argv);
맥 터미널에서 아래와 같이 입력하면
$ /usr/local/bin/node sample.js helloworld
아래와 같은 결과가 출력된다.
[ '/usr/local/bin/node', // node runtime path 'sample.js_file_path/sample.js', // sample.js 경로 'helloworld' // input data ]
입력된 데이터 목록만 필요한 경우, process.argv를 slice로 인덱싱하면 된다.
process.argv.slice(2);
Delete file
var fs = require('fs'); fs.unlink('sample.txt', function(err){ //console.log(err) });
fs.readFile을 이용해 아래처럼 데이터를 읽어온 다음, 템플릿에 얹어서 출력 가능
var http = require('http'); var fs = require('fs'); var url = require('url'); // node에서 url 모듈 호출 var app = http.createServer(function(request, response){ var _url = request.url; // 요기는 모듈 아니고 유저한테 입력받은 url, 구분을 위해 _ 추가 var queryData = url.parse(_url, true).query; // 입력받은 url 파싱 if(_url == '/'){ // id 입력 없이 홈페이지로 접속했다면 template = 'Welcome'; // 보여줄 내용 선택 } response.writeHead(200); var title = queryData.id; // 유저가 입력한 데이터에서 id 추출 fs.readFile(`data/${title}`, 'utf-8', function(err, description){ // 파일 읽기 var template = `File Content: ${description}`; // 템플릿에 저장 response.end(template); // 사용자가 요청한 데이터를 보여주는 부분 }); }); app.listen(3000); // 포트번호는 3000번으로 설정
'생활코딩 > WEBn' 카테고리의 다른 글
[Node.js] NPM, PM2 (0) 2020.09.14 [Node.js] 기타 - read/write JSON, function import, css/js response, favicon (0) 2020.09.11 [Node.js] 개요 - 웹페이지 생성 preview, query string (0) 2020.09.09 [Home Server] 개요 (0) 2020.09.08 [JS] 나머지 개념들 - library, framework, UI, API (0) 2020.08.29