全栈:静态网站(__dirname 、__filename)

实例1:

//静态网站1————
var http = require('http')
var fs = require("fs")
var app = http.createServer((req, res) => {

    //前端的每一次网络请求 这个函数都会重新运行一次
    if (req.url == '/home') {
        fs.readFile("./index.html", (err, data) => {
            res.setHeader("content-Type", "text/html;charse=:utf8")
            if (!err) {
                res.end(data)
            }
        })
    }
    else if (req.url == '/bird.png') {
        fs.readFile('./bird.png', (err, data) => {
            res.setHeader("content-Type", "image/png")
            // console.log(err,data)
            res.end(data)
        })
    }
    else if (req.url == '/a') {
        fs.readFile('./index.html', (err, data) => {
            res.setHeader("content-Type","text/html;charset=utf8")
            // console.log(err,data)
            res.end(data)
        })
    }
    else {
        res.end("404")
    }
})
app.listen(8082)

 

__dirname 、__filename

// __dirname

// 在node.js环境中 有两个全局变量:__dirname __filename
// 保存的是字符串
// __dirname(当前js文件所在目录的绝对路径) 
// __filename(当前js文件的目录绝对路径)
console.log(111, __dirname, __filename, 222);
var fs = require("fs")
fs.readFile(__dirname + "/index.html", (err, data) => {
    console.log(err, data.toString());
})
fs.readFile(__filename + "/index.html", (err, data) => {
    console.log(err, data.toString());
})

 

 

 

实例2:

后端代码

//静态网站2————
var http = require("http")
var fs = require("fs")
var app = http.createServer((req, res) => {
    console.log(req.url);

    fs.readFile(__dirname + req.url, (err, data) => {
        res.end(data)
    })
  用req.url替代每次条件判断:
    // if (req.url == '/index.html') {
    //     fs.readFile(__dirname + '/index.html', (err, data) => {
    //         res.end(data.toString())
    //     })
    // }
    // else if (req.url == '/img/bird.jpg') {
    //     fs.readFile(__dirname + '/img/bird.jpg', (err, data) => {
    //         res.end(data)
    //     })
    // }
    // else if (req.url == '/css/index.css') {
    //     fs.readFile(__dirname + '/css/index.css', (err, data) => {
    //         res.end(data)
    //     })
    // } else if (req.url == '/font/字体.ttf') {
    //     fs.readFile(__dirname + '/font/字体.ttf', (err, data) => {
    //         res.end(data)
    //     })
    // }
    // else if (req.url == '/favicon.ico') {
    //     fs.readFile(__dirname + '/favicon.ico', (err, data) => {
    //         res.end(data)
    //     })
    // }
    // else if (req.url == "text.html") {
    //     fs.readFile(__dirname + "text.html", (err, data) => {
    //         res.end(data)
    //     })
    // }

})
app.listen(8082)

 

posted on 2022-07-28 15:28  香香鲲  阅读(25)  评论(0编辑  收藏  举报