为什么我的静态文件无法加载响应

时间:2020-10-17 14:32:44

标签: node.js express

我正在尝试使用express从html表单获取数据 但是当我尝试使用app.use(express.static(__ dirname +“ public”);加载我的静态文件时; 在devtools中,它显示无法加载我的响应数据 谁能告诉我为什么会这样,并且有解决办法 enter image description here

enter image description here

这是第一张图片中的代码

 const express = require('express');

 const bodyParser = require('body-parser');

 const app = express();




app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static(__dirname+'public'));


app.get("/",function(req,res){
  res.sendFile(__dirname + "/public/bmiCalculator.html");
});

app.post("/",function(req,res){
  console.log(req.body);
  res.send("hello");
});


app.listen(300,function(){
  console.log("Server Hosted OK");
});

1 个答案:

答案 0 :(得分:0)

提供给静态中间件的路径不正确。以下代码__dirname+'public'将为您提供Calculatorpublic,即/丢失。您可以做的是在/之前添加public

app.use(express.static(__dirname, "/public"));

另一种变化:

const path = require('path');
app.use(express.static(path.join(__dirname, "public")));