利用node实现访问本机服务,出现的问题

利用node实现访问本机服务,出现的问题
const express = require('express')
const app = express()
const bodyParser = require('body-parser')
// 处理静态资源
app.use(express.static('public'))

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// 设置允许跨域访问该服务
app.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header('Access-Control-Allow-Headers', 'Content-Type');
    res.header('Access-Control-Allow-Headers', 'mytoken');

    // res.header("Access-Control-Allow-Headers", "X-Requested-With Content-Type mytoken");
    next();
});

app.get('/async1', (req, res) => {

    res.send('hello');
})

app.get('/async2', (req, res) => {
    if (req.query.info == 'hello') {
        res.send('world')
    } else {
        res.send('error')
    }
})

app.get('/data', (req, res) => {
    res.send('getUrl传参方式' + req.query.id);
})

app.get('/data/:id', (req, res) => {
    res.send('params获取id' + req.params.id)
})

app.get('/data/"id', (req, res) => {
    res.send('params传递参数' + req.query.id)
})

// delete
app.delete('/data', (req, res) => {
    res.send('delete获取参数' + req.query.id)
})

app.delete('/data/:id', (req, res) => {
    res.send('delete获取参数' + req.params.id)
})

app.delete('/data/:id', (req, res) => {
    res.send('delete获取参数' + req.body.name + req.params.id)
})

app.post('/data', (req, res) => {
    res.send('post获取参数' + req.body.uname + '---' + req.body.pwd)
})

app.put('/data', (req, res) => {
    res.send('post获取参数' + req.body.uname + '---' + req.body.pwd)
})


app.put('/data/:id', (req, res) => {
    res.send('put获取参数' + req.body.uname + '---' + req.body.pwd + '---' + req.params.id)
})

// json格式数据
app.get('/data-json', (req, res) => {
    res.json({
        uname: '李四',
        age: 13,
        gender: 'male'
    });
})

// axios的全局配置


app.get('/a1', (req, res) => {
    setTimeout(function () {
        res.send('Hello Tom!')
    }, 1000)
})

app.get('/a2', (req, res) => {
    setTimeout(function () {
        res.send('Hello Jerry!')
    }, 2000)
})

app.get('/a3', (req, res) => {
    setTimeout(function () {
        res.send('Hello Spike!')
    }, 3000)
})




// 路由
app.get('/data', (req, res) => {
    res.send('Hello World!')
})

app.get('/data1', (req, res) => {
    res.send('Hello Tom!')
})

app.get('/data2', (req, res) => {
    res.send('Hello Jerry!')
})


var server=http.createServer((req,res)=>{    
    if(req.url.indexOf("/favicon.ico") ===-1){
        console.log(req.url);
         res.end();
    }
    })
// 启动监听
app.listen(8080, () => {
    console.log('服务器running...')
})

运行结果及报错内容

我利用http-server改变端口号,能够将正常运行并且打开服务器访问到数据,当我点击服务器中的文件的时候,就会报错,但是不影响访问文件

img

我的解答思路和尝试过的方法

"GET /favicon.ico" Error (404): "Not found" ---- 没有ico,我设置了

var server=http.createServer((req,res)=>{    
    if(req.url.indexOf("/favicon.ico") ===-1){
        console.log(req.url);
         res.end();
    }
    })

去掉图标
但是别的是啥原因我却不知道

可能是过滤图标的地方不对,尝试在路由里过滤图标,不要在createServer中过滤

app.get('/favicon.ico', (req, res) => {
        console.log(req.url);
         res.end();
})