nodejs_training
Version:
Demo of nodejs
119 lines (95 loc) • 3.1 kB
JavaScript
//core modules are modules provided by node js for devloping basic apps in node.js.
var fs = require('fs');//filesystem used to read and write to file
var os = require('os');
var http = require('http');
var emitter = require('events');
/*
//use readFileSync to read contents of the file
function readMyFile() {
var fileName = 'firstExample.js';
var contents = fs.readFileSync(fileName, 'utf8');
console.log(contents);
}
function readAsyncFile() {
fs.readFile('firstExample.js', 'utf8', function(err, res){
if(err) {
console.log(err.message);
return;
}
console.log(res);
});
}
//readMyFile();
//readAsyncFile();
//console.log("Doing some other job");
//fs.appendFile('sampleExample.txt', 'Contents to be appended', (err) => console.log(err));
fs.open('SampleExample.txt', 'a+', function(err, fd){
var buffer = new Buffer("Some content to add");
fs.write(fd,buffer, 0, buffer.length, null, function(err, written, buffer){
console.log("written content:" + written);
fs.close(fd, () => console.log("Operation complete"));
})
})
fs.stat('SampleExample.txt', (err, stats) =>{
console.log(stats);
console.log("is it a file?" + stats.isFile());
console.log("Is is a directrory?" + stats.isDirectory());
});
//OS Module
console.log("architecture:" + os.arch());
console.log("the os:" + os.platform());
console.log("CPUS:" );
console.log(os.cpus());
console.log("Free memory:" + os.freemem());
console.log("Home dir:" + os.homedir());
console.log("Hostname:" + os.hostname());
///Timer
setInterval(() => console.log(Date()), 1000);
//there is another function called setTimeout which is to invoke a function after the specified amount of time is completed
setTimeout(() => {console.log("Nodejs time function")}, 1000);
*/
//HTTP
/*
function postErrorPage(res) {
res.writeHead(404, {'Content-type': 'text/html'});
res.write("Opps! something bad happened");
res.end();
}
http.createServer(function(req,res){
console.log("request has come");
//res.write("Page is processed and sent as response");
// res.end();
if(req.method =='GET' && req.url == '/') {
res.writeHead(200, {'Content-type': 'text/html'});
fs.createReadStream('./HomePage.html').pipe(res);
}
else {
postErrorPage(res);
}
}).listen(1234);
*/
//Event emitter
/*
var log = new emitter.EventEmitter();
function onClick() {
for(var i =0; i< 100; i++) {
console.log("click event fired at receiver" + i);
}
}
//register the click event to event loop
log.on('click', function(callBackFunc){
callBackFunc();
})
log.emit('click', onClick); //this will trigger click event
for(var i =0; i< 100; i++) {
console.log("source" + i);
}
*/
var emitter1 = require('./eventEmitterDemo').logger;
function onError() {
var msg = "Err occured at " + Date();
fs.appendFile("Errors.txt", msg, (err) => console.log(err));
}
console.log("Doing some big job");
console.log("Some error happened");
emitter1.emit("error", onError);