javascript - 我正在尝试运行本书中的 Express 静态中间件,但我看不到示例试图展示的内容

标签 javascript node.js express

我在这本书中关于 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/

相关文章:

node.js - PM2 不会在 Docker 内部启动

node.js - nodemon 应用程序在尝试请求 mongoose 时崩溃

javascript - Meteor.call 不等待结果

javascript - 从 json 数据渲染表格后,如何根据 Datatables.js 中的条件为每个单元格着色?

node.js - Npm 错误 - Windows NT - 如何解决

angularjs - Angular 2 和 Express 4 结合在 1 个 Node.js 服务器下

node.js - 当我启动基于 node.js 的站点时,是否有 list ?

javascript - app.use(cors()) 是做什么的?

javascript - 找出脚本在哪个 iframe 中执行

javascript - 如何在不包含集合数的情况下生成随机数?