【问题标题】:why are my static files failing to load response为什么我的静态文件无法加载响应
【发布时间】:2021-01-31 19:52:22
【问题描述】:

我正在尝试使用 express 从 html 表单中获取数据 但是当我尝试使用 app.use(express.static(__dirname+"public"); 加载我的静态文件时 在 devtools 中显示它无法加载我的响应数据 谁能告诉我为什么会发生这种情况以及解决方案

这是第一张图片中的代码

 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");
});

【问题讨论】:

  • 请添加代码而不是图片

标签: node.js express


【解决方案1】:

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

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

另一种变化:

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

【讨论】:

  • 谢谢你,先生,我很困惑我错在哪里,但事实证明这个小错误就是这样做的
猜你喜欢
  • 2016-12-05
  • 1970-01-01
  • 2020-09-11
  • 2015-03-10
  • 2021-08-26
  • 2019-12-30
  • 2021-07-22
  • 2011-08-20
相关资源
最近更新 更多