Path Module
// app.js
const path = require('path')
const pathObj = path.parse(__filename)
console.log(pathObj)
OS Module
// app.js
const os = require('os')
const totalMemory = os.totalmem()
const freeMemory = os.freemem()
const userInfo = os.userInfo()
console.log(`totalMemory:${totalMemory}`)
console.log(`freeMemory:${freeMemory}`)
console.log(userInfo)
File System Module
// app.js
const fs = require('fs')
// const files = fs.readdirSync('./')
// console.log(files)
fs.readdir('./', (err, files) => {
if (err) console.log('ERR', err)
else console.log('Result', files)
})
Events Module
// app.js
const EventEmitter = require('events')
const emitter = new EventEmitter()
// Register a listener
// emitter.addListener()
emitter.on('messageLogged', function() {
console.log('Listener called')
})
// Raise an event
emitter.emit('messageLogged')
Event Arguments
// app.js
const EventEmitter = require('events')
const emitter = new EventEmitter()
// Register a listener
// emitter.addListener()
emitter.on('messageLogged', function(arg) {
console.log('Listener called', arg)
})
// Raise an event
emitter.emit('messageLogged', { id: 1, url: 'http://' })
Extending Eventmitter
//logger.js
const EventEmitter = require('events')
const url = 'http://mylogger.io/log'
class Logger extends EventEmitter {
log(message) {
// send an HTTP request
console.log(message)
// Raise an event
this.emit('messageLogged', { id: 1, url: 'http://' })
}
}
module.exports = Logger
// app.js
const EventEmitter = require('events')
const Logger = require('./logger')
const logger = new Logger()
// Register a listener
// emitter.addListener()
logger.on('messageLogged', function(arg) {
console.log('Listener called', arg)
})
logger.log('message')
HTTP Module
// app.js
const http = require('http')
const server = http.createServer()
server.on('connection', (socket) => {
console.log('New connection...')
})
server.listen(3000)
console.log('Listening on port 3000...')
// app.js
const http = require('http')
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.write('hello world')
res.end()
}
})
server.listen(3000)
console.log('Listening on port 3000...')
more routers
// app.js
const http = require('http')
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.write('hello world')
res.end()
}
if (req.url === '/api/courses') {
res.write(JSON.stringify([1,2,3]))
res.end()
}
})
server.listen(3000)
console.log('Listening on port 3000...')