我在这本书中关于 Express 的一节中提到了express.static 来提供文件,但是每次运行它时,当没有找到文件时,我都会捕获代码。我创建了一个名为 public 的文件夹,并放入一个 HTML 文件,并将其放在项目文件夹及其上方,但除了运行静态方法调用后给出的消息之外,没有任何反应。
代码是:
var express = require("express");
var path = require("path");
var http = require("http");
var app = express();
var publicPath = path.resolve(__dirname,"public");
app.use(express.static(publicPath));
app.use(function(request,response){
response.writeHead(200,{"Content-Type":"text/plain"});
response.end("Looks like you didn't find a static file");
});
http.createServer(app).listen(3000);
书中没有给出更多解释。我从未与服务器合作过。这是怎么回事?
最佳答案
我运行了您的示例代码,并能够让它显示在项目根目录的 public
目录中创建的 HTML 文件。
例如。 public/page.html
可以在 localhost:3000/page.html
如果您在公共(public)目录中创建 index.html
文件,则会在 localhost:3000
处检索该文件。索引不需要完整的 .html
扩展名。
关于javascript - 我正在尝试运行本书中的 Express 静态中间件,但我看不到示例试图展示的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55840163/