使用node内置模块完成web服务器响应静态资源

115 阅读1分钟

##使用node内置模块完成web服务器响应静态资源

const fs = require('fs')
const path = require('path')


let server = http.createServer((req, res) => {
    let url = req.url
    let extname = path.extname(url)
    fs.readFile(path.join(__dirname, url), (err, data) => {
        if (err) {
            console.log('文件读取失败', err)
            return
        }
        if (extname == '.html') {
            res.setHeader('Content-type', 'text/html; charset=utf8')
        }
        else if (extname == '.jpg') {
            res.setHeader('Content-type', 'image/png')
        }
        res.end(data)
    })

})

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

##fs模块使用

fs.writeFile('./data1.json', JSON.stringify({ name: '后裔', skinname: '精灵王' }),(err)=>{
    if (err) {
        console.log('文件写入失败!', err)
        return
    }
    console.log('文件写入成功!')
})


fs.readFile('./data1.json','utf8',(err,data)=> {
    if(err){
        console.log('文件读取失败!', err)
        return
    }
    console.log('文件读取成功!', data)
    let arr = []
    arr.push(data, JSON.stringify({ name: '程咬金', skinname: '功夫厨神' }))
    fs.writeFileSync('./data1.json',JSON.stringify(arr))
    fs.readFile('./data1.json','utf8',(err,data) => {
        if(err){
            console.log('最终读取失败',err)
            return
        }
        console.log('最终读取成功',JSON.parse(data));
    })
})