重学Node 0x1 Node Modules System(2)

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...')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值