系统模块
在项目文件夹中打开cmd或者在cmd中切换路径到项目文件夹
常用的系统模块:
fs os path EventEmitter http process
读取文件
var fs = require('fs')
//同步读取文件
// console.log('start---')
// var data = fs.readFileSync('./demo.txt')
// console.log(data.toString())
// // console.log(data)
// console.log('end---')
//异步读取文件
console.log('start---')
fs.readFile('./demo.txt',function(err,data){
if(err) throw err
console.log(data.toString())
})
console.log('end---')
写入文件
var fs = require('fs')
var os = require('os')
//同步写入文件
// console.log('======')
// var data = fs.writeFileSync('./abc.txt','hello')
// console.log(data)
// console.log('----')
//异步写入文件
// console.log('======')
// fs.writeFile('./hello.text','hello world',function(err){
// if(err) throw err
// console.log('拿下')
// })
// console.log('----')
console.log(os.type())
绑定事件
var events = require('events')
var emitter = new events.EventEmitter()
//绑定事件
emitter.on('abc',function(){
console.log('abc是事件执行了')
})
//触发事件
emitter.emit('abc')
创建服务器对象
var http = require('http')
//node.js搭建服务器
//创建服务器对象
var app = http.createServer(function(req,res){
res.write('<h1>hello</h1>')
res.end()
})
//监听端口,开启服务器
app.listen(8080,function(){
console.log('server success!')
})
自定义模块
自定义时间对象
time.js
function timeParse(str){
var array = str.split('-')
return `${array[0]}年${array[1]}月${array[2]}日`
}
function getTime(){
let date = new Date()
return date.getTime()
}
module.exports = {
timeParse,
getTime
}
demo5.js
// var timeParse = require('./timeParse')
// console.log(timeParse('2021-4-4'))
var time = require('./time')
console.log(time.getTime())
console.log(time.timeParse('2021-4-4'))
getTime获取时间戳
timeParse将写入的2021-4-4通过time.js中的函数转换为2021年4月4日
自定义学生对象
student.js
class Student{
constructor({name,age,sex,classroom}){
this.name=name
this.age=age
this.sex=sex
this.classroom=classroom
}
read(){
console.log(`${this.name}在上网`)
}
message(){
console.log(`${this.name}是${this.sex}生,今年${this.age}岁,在${this.classroom}班`)
}
}
module.exports = Student
demo6.js
const Student = require('./student')
var student = require('./student')
let s1 = new Student({
name:'tom',
age:10,
sex:'男',
classroom:'604'
})
let s2 = new Student({
name:'jack',
age:13,
sex:'女',
classroom:'404'
})
s1.read()
s1.message()
s2.read()
s2.message()