javascript - 如何在某些路径上而不是其他路径上在 ExpressJS 中提供静态文件

标签 javascript node.js express server path

如何仅从某些路径使用 ExpressJS 提供静态文件,而不能为其他路径提供?
更具体地说,我想从除 /files 之外的所有路径提供静态文件。 (如果请求此路径,我只想编辑服务器上的某些文件)。
我有这段代码:

var express = require('express');
var app = express();
    
express.static(__dirname);
app.use(redirectUnmatched); 
function redirectUnmatched(req, res) {
    //Do something on server
    console.log("req.url:"+req.url+"<br>"+__dirname);
}
    
let port = 80;
var server = app.listen(port);
但我真的不知道,如何编辑我的代码来做到这一点......
谁能帮我?
谢谢!

最佳答案

只是定义 /files在提供静态文件之前路由可能有效:

// Define `/files` route first
app.use("/files", function (req, res) {
  return res.send("I will be served instead of a files directory");
});

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

关于javascript - 如何在某些路径上而不是其他路径上在 ExpressJS 中提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65115458/

相关文章:

javascript - Webpack 开发中间件未正确提供 bundle.js

javascript - 执行ajax函数直到另一个ajax调用成功

javascript - 如何使用基于 YUI 的 EditorGridPanel 和 ColumnTree 替代品来避免 EXTjs?

javascript - HTML5 Canvas 和 bubble.js

node.js - 配对 sails、passport 和 mongo : error: A hook (`session` ) failed to load! 对象 .... 没有方法 'assign'

javascript - 如何将所有请求重定向到特定域名?

javascript - CKEditor 使用 Angular 7 进行拖放

node.js - 如何检查文件夹是否为空?

node.js - 将 xcode 指向正确的 Node 版本

javascript - Mongoose 的默认数据库数据