node.js 模块学习

系统模块

读取文件

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!')
})


    常用的系统模块: fs   os  path    EventEmitter   http  process

自定义模块

自定义之事件模块

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

自定义之学生对象

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()

创建模块: 创建.js文件,使用 module.exports 向外暴露该文件中的对象

    引入模块: require('路径')

安装第三方模块:
    
    npm i xxx --save  或  npm i xxx -S  生产环境安装

    npm i xxx --save-dev  或  npm i xxx -D  开发环境安装

    区别:

        1、安装命令不同

        2、构建(打包)的方式不同:开发环境安装的模块不会被打包,生产环境安装的模块会被一起打包
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值