node -v / node --version
npm -v / npm --version
// 버전이 뜨지 않는다면 재설치해야됩니다.
which node
which npm
node
// 여기부턴 크롬 개발자창의 console창처럼 사용할 수 있습니다.
// Interactive node shell 모드를 종료하려면 ctrl+c를 누릅니다.
mkdir nodejs // 'nodejs' 폴더 생성
cd nodejs // 'nodejs' 폴더로 들어가기
echo 'var hyungju={}; > hyungju.js' // hyungju.js라는 파일을 생성하고 그 파일 안에 var hyungju={} 라는 내용 넣기
cat hyungju.js // hyungju.js 파일 내용 읽기
echo 'console.log(typeof hyungju) >> hyungju.js // 꺽새 두번, hyungju.js 파일에 내용 추가하기
node hyungju.js // hyungju.js 파일 실행
console.log(__filename);
console.log(__dirname);
// 위 자바스크립트 코드를 크롬 개발자 콘솔창과 node에서 각각 실행해보세요
var fs = require('fs');
// file system 모듈의 readFile() 사용
fs.readFile('files/about-node.txt', function (err, data) {
console.log('data:' + data);
})
node (실행할 파일 이름)
var fs = require('fs');
console.log('파일 읽기 프로세스 시작...');
// file system 모듈의 readFile() 사용
fs.readFile('files/about-node.txt', function (err, data) {
console.log('data:' + data);
})
console.log('파일 읽기 프로세스 끝');
var fs = require('fs');
// file system 모듈의 readFile() 사용
fs.readFileSync('files/about-node.txt');
console.log('데이터:' + data);
console.log('파일 읽기 프로세스 끝');
{
"name": "hyungju-lee",
"old": "33",
"regidence": "seoul"
}
var fs = require('fs');
// file system 모듈의 readFile() 사용
fs.readFile('files/config.json', function (err, data) {
console.log('data:' + data);
})
{
"name": "hyungju-lee",
"old": "33",
"regidence": "seoul"
}
var fs = require('fs');
console.log('파일 읽기 프로세스 시작');
// file system 모듈의 readFile() 사용
var data = fs.readFileSync('files/config.json');
console.log('데이터 : ' + data.name);
console.log('파일 읽기 프로세스 끝');
// 결과
// 파일 읽기 프로세스 시작
// 데이터 : undefined
// 파일 읽기 프로세스 끝
var fs = require('fs');
console.log('파일 읽기 프로세스 시작');
// file system 모듈의 readFile() 사용
var data = fs.readFileSync('files/config.json');
var jsonObj = JSON.parse(data);
console.log('데이터 : ' + jsonObj.name);
console.log('파일 읽기 프로세스 끝');
var fs = require('fs');
console.log('파일 쓰기 프로세스 시작');
var cssDoc = "#nodejs {margin:0;}";
fs.writeFile('files/style.css', cssDoc, function () {
console.log('files/style.css 파일 생성');
})
console.log('파일 쓰기 프로세스 끝');
var fs = require('fs');
console.log('파일 쓰기 프로세스 시작');
var cssDoc = "#nodejs {margin:0;}";
var options = {encoding: 'utf8'};
fs.writeFile(
'files/style.css',
cssDoc,
options,
function () {
console.log('files/style.css 파일 생성');
}
);
console.log('파일 쓰기 프로세스 끝');
var fs = require('fs');
console.log('파일 쓰기 프로세스 시작');
var cssDoc = "#nodejs {margin:0;}";
var options = {encoding: 'utf8'};
fs.writeFileSync(
'files/style.css',
cssDoc,
options
);
console.log('코드의 흐름을 동기(sync)적으로 처리')
console.log('파일 쓰기 프로세스 끝');
var fs = require('fs');
fs.watchFile('files/style.css', function (cur, prv) {
console.log('파일이 변경되었습니다.');
})
var fs = require('fs');
// style.css 문서 경로
var styleDoc = 'files/style.css';
// watchFile() - 파일 변화를 지속적으로 관찰
fs.watchFile('files/style.css', function (curr, prev) {
// readFileSync() 메소드를 통해 파일을 동기적으로 읽어옴
var doc = fs.readFileSync(styleDoc);
// 변경된 파일 내용을 콘솔에 출력
console.log('변경된 문서 내용 : \n' + doc);
})
var fs = require('fs');
// 폴더 경로
var folderPath = 'files';
fs.watch(folderPath, function (event, filename) {
console.log('event is : ' + event);
if (filename) {
console.log('filename provided : ' + filename);
} else {
console.log('filename not provided');
}
})