创建基本的web服务器.

//1.导入http模块
const http=require('http')
//2.创建web服务器实例
const server=http.createServer()
//3.为服务器实例绑定request事件,监听客户端请求
server.on('request',function (req,res){
    console.log('Someone visit our web server.')
})
//4.启动服务器
server.listen(8080,function (){
    console.log('server running at http://127.0.0.1:8000')
})

了解req请求对象.

const http=require('http')
const server=http.createServer()
//req是请求对象,包含了与客户端相关的数据和属性
server.on('request',(req)=>{
    //req.url是客户端请求的URL地址
    const url=req.url
    //req.method是客户端请求的method类型
    const method=req.method
    const str =`Your request url is ${url},and request method is ${method}`
    console.log(str)
    //调用res.end()方法,向客户端响应一些内容
    res.end(str)
    
})
server.listen(80,function(){
    console.log('server running at http://127.0.0.1')
})

解决中文乱码问题.

const http = require('http')
const server = http.createServer()
server.on('request',(req,res)=>{
    //定义一个字符串,包含中文的内容
    const str=`您请求的URL地址是${req.url},请求的method类型为${req.method}`
    //调用res.setHeader()方法,设置Content-Type响应头,解决中文乱码问题
    res.setHeader('Content-Type','text/html; charset=utf-8')
    //res.end()将内容响应给客户端
    res.end(str)

})
server.listen(80,function(){
    console.log('server running at http://127.0.0.1')
})

根据不同的url响应不同的html内容.

const http = require('http')
const server = http.createServer()

server.on('request',function(req,res){
    const url=req.url//获取请求的url地址
    let content='<h1>404 Not Found!</h1>'//设置默认的内容为404Not Found
    if(url==='/'||url==='/index.html'){
        content='<h1>首页</h1>'//用户请求的是首页
    }else if(url==='/about.html'){
        content ='<h1>关于页面</h1>'//用户请求的是关于页面
    }
    res.setHeader('Content-Type','text/html; charset=utf-8')//设置Content-Type响应头,防止中文乱码
    res.end(content)//那内容发送给客户端
})

server.listen(80,function(){
    console.log('server running at http://127.0.0.1')
})

m1.

//当前这个文件,就是一个用户自定义模块
console.log('加载了05这个用户自定义模块');

test

const m1=require('./05.m1.js')

console.log(m1);

模块作用域.

const username='张三'

function sayHello() {
    console.log('大家好,我是'+username);
    
  }

test.

const custom=require('./07模块作用域.js')

console.log(custom);

演示module对象.

console.log(module);

自定义模块.

//在一个自定义模块中,默认情况下,module.exports={}
const age=20
//向module.exports对象挂载username属性
module.exports.useername='zs'

//向module.exports对象挂载sayHello方法
module.exports.sayHello=function (){
    console.log('Hello!')
}
module.exports.age=age
//让module.exports指向一个全新的对象
module.exports={
    nickname:'小黑',
    sayHi(){
        console.log('Hi!')
    }

}

test.

//在外界使用require方法导入一个自定义模块的时候,得到的成员
//就是那个模块中,通过module.exports指向的那个对象
const m=require('./10自定义模块.js')

console.log(m);

exports对象.

// console.log(exports)
// console.log(module.exports)
//
// console.log(exports===module.exports)

const username='zs'

exports.username=username
exports.age=20
exports.sayHello=function (){
    console.log('大家好!')
}

//最终共享的结果,永远都是module.exports所指向的对象

test.

const m=require('./12exports对象')
console.log(m)

dataFormat.

//1.定义格式化时间的格式
function dateFormat(dtStr){
    const dt=new Date(dtStr)

    const y=dt.getFullYear()
    const m=padZero(dt.getMonth()+1)
    const d=padZero(dt.getDate())

    const hh=padZero(dt.getHours())
    const mm=padZero(dt.getMinutes())
    const ss=padZero(dt.getSeconds())

    return`${y}-${m}-${d} ${hh}:${mm}:${ss}`
}

//定义补零函数
function padZero(n){
    return n>9?n:'0'+n
}

module.exports={
    dateFormat
}

test.

//导入自定义的格式化时间的模块
const TIME=require('./14dataFormat')

//调用方法,进行时间的格式化
const dt=new Date()
//console.log(dt)
const newDT=TIME.dateFormat(dt)
console.log(newDT)

Q.E.D.