Node.js as a File Server
파일 서버로의 Node.js
- The Node.js file system module allows you to work with the file system on your computer.
- Node.js File System 모듈을 사용하면, File System으로 작업할 수 있다.
- To include the File System module, use the
require()
method:- File System 모듈을 포함시키기 위해,
require()
메소드를 사용한다.
- Common use for the File System module:
- File System 모듈의 일반적인 사용:
- Create files (파일 생성하기)
- Read files (파일 읽기)
- Update files (파일 업데이트하기)
- Delete files (파일 제거하기)
- Rename files (파일 이름 변경하기)
Create Files
파일 생성하기
- The File System module has methods for creating new files:
- File System 모듈에는 새 파일을 생성하는 메소드가 있다.
fs.appendFile()
fs.open()
fs.writeFile()
- The
fs.appendFile()
method appends specified content to a file.fs.appendFile()
메소드는 지정된 내용을 파일에 추가한다.
- If the file does not exist, the file will be created:
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello Content', function(err) {
if (err) throw err;
console.log('Saved!')
});
코드 실행 확인
- The
fs.open()
method takes a “flag” as the second argument, if the flag is “w” for “writing”, the specified file is opened for writing.fs.open()
메소드는 두 번째 인수로 “flag”를 사용한다.- flag가 “writing”에 대해 “w”라면, 지정된 파일을 작성하기 위해 열린다.
- If the file does not exist, an empty file is created:
- 파일이 존재하지 않으면, 빈 파일이 생성된다.
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function(err, file) {
if (err) throw err;
console.log('Saved!');
});
코드 실행 확인
- The
fs.writeFile()
method replaces the specified file and content if it exists.fs.writeFile()
메소드는 지정된 파일과 내용을 대체한다.
- If the file does not exist, a new file, containing the specified content, will be created:
- 파일이 존재하지 않으면, 지정된 내용을 포함하는 새 파일이 생성된다.
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello Content', function(err) {
if (err) throw err;
console.log('Saved!');
});
코드 실행 확인
Read Files
파일 읽기
- The
fs.readFile()
method is used to read files on your computer.fs.readFile()
메소드는 파일을 읽는 데 사용된다.
- Assume we have the following HTML file (located in the same folder as Node.js).
- 다음 HTML 코드를 “demofile1.html”에 저장한다.
- (Node.js와 동일한 폴더에 저장)
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
- Create a Node.js file that reads the HTML file, and return the content:
- HTML 파일을 읽는 Node.js 파일을 생성하고, 내용을 반환한다.
var http = require('http');
var fs = require('fs');
http.createServer(function(req, res) {
fs.readFile('demofile1.html', function(err, data) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write(data);
res.end();
});
}).listen(8080);
코드 실행 확인
- Save the code above in a file called “demo_readfile.js”, and initiate the file:
- 위 코드를 “demo_readfile.js” 파일에 저장하고 실행한다.
Update Files
파일 업데이트하기
- The File System module has methods for updating files:
- File System 모듈에는 파일을 업데이트하는 메소드가 있다.
fs.appendFile()
fs.writeFile()
- The
fs.appendFile()
method appends the specified content at the end of the specified file:fs.appendFile()
메소드는 지정된 파일의 끝에 지정된 내용을 추가한다.
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my text.', function(err) {
if (err) throw err;
console.log('Updated!');
});
코드 실행 확인
- The
fs.writeFile()
method replaces the specified file and content:fs.writeFile()
메소드는 지정된 파일과 내용을 대체한다.
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function(err) {
if (err) throw err;
console.log('Replaced!');
});
코드 실행 확인
Delete Files
파일 제거하기
- To delete a file with the File System module, use the
fs.unlink()
method.- File System 모듈로 파일을 제거하기 위해,
fs.unlink()
메소드를 사용한다.
- The
fs.unlink()
method deletes the specified file:fs.unlink()
메소드는 지정된 파일을 제거한다.
var fs = require('fs');
fs.unlink('mynewfile2.txt', function(err) {
if (err) throw err;
console.log('File deleted!');
});
코드 실행 확인
Rename Files
파일 이름 변경하기
- To rename a file with the File System module, use the
fs.rename()
method.- File System 모듈로 파일 이름을 변경하기 위해,
fs.rename()
메소드를 사용한다.
- The
fs.rename()
method renames the specified file:fs.rename()
메소드는 지정된 파일의 이름을 변경한다.
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function(err) {
if (err) throw err;
console.log('File Renamed!');
});
코드 실행 확인
Upload Files
파일 업로드하기
- You can also use Node.js to upload files to your computer.
- Node.js를 사용해서 파일을 컴퓨터에 업로드할 수도 있다.