// 常用node核心模块: fs、http、url、path、queryString
// 偶尔用到:Buffer、events、process、crypto
// 基本不用:error、readline、stream
// const fs = require(‘fs’)
// const path = require(‘path’)
// // const buffer = require(‘buffer’)
// // const Buffer = buffer.Buffer
// // 引入buffer模块,然后从模块里把Buffer属性解构出来再使用
// const { Buffer } = require(‘buffer’)
// fs.readFile(path.join(__dirname, ‘./data.json’), (err, data) => {
// if (err) throw err
// else console.log(data.toString())
// })
// console.log(Buffer.from(‘hello’))
// console.log(Buffer.Buffer)
// const EventEmitter = require(‘events’)
// // 这里可以不用写super,因为继承的属性和方法都在原型上,构造函数里没有什么东西好继承的
// class MyEmitter extends EventEmitter {}
// const emitter = new MyEmitter()
// // 发布订阅者模式(观察者模式)
// // 监听一个自定义dary事件
// emitter.on(‘dary’, (str) => {
// console.log(我被触发了-${str}
)
// })
// // 监听,但是只会被触发一次
// emitter.once(‘dary’, (str) => {
// console.log(我被触发了2-${str}
)
// })
// // 触发dary事件
// emitter.emit(‘dary’, ‘hello’)
// setTimeout(() => {
// emitter.emit(‘dary’, ‘world’)
// }, 1000)
// process(扩展)
// const process = require(‘process’)
// // 获取当前node程序进程的一些信息,在以后写项目的时候会用到它来判断代码环境
// // 用这个属性来判断当前处于开发环境还是产品环境
// // 有些时候需要根据不同的环境来书写不同的代码
// console.log(process.env)