表达 sendfile 和重定向 url

2023-12-01

我有一堆中间件。一开始app.use我测试该过程是否受到胁迫,如果是,我希望它只发送静态/index.html文件并将用户的浏览器重定向到"/#" + req.url.

例如:

app.set("port", PORT)
//etc
app.use(function(req, res, next) {
  if (something)
    res.sendfile('/public/index.html', { root: __dirname + '/..' })
    // also, redirect the user to '/#' + req.url
  else
    next()
});
// a ton more middleware that deals with the main site
app.use(express.static(...))

现在,它只是将 index.html 发送到他们所在的任何 url。我怎样才能将它们重定向到“/”并提供index.html,而不会弄乱任何未来的中间件。


不确定我理解是否正确,但试试这个:

app.use(function(req, res, next) {
  if (something && req.path !== '/')
    return res.redirect('/');
  next();
});

app.get('/', function(req, res, next) {
  if (something)
    return res.sendfile('/public/index.html', { root: __dirname + '/..' });
  next();
});

app.use(express.static(...));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表达 sendfile 和重定向 url 的相关文章

  • 如何对页面的某个部分进行实时更新?

    我需要刷新页面的各个部分 以便在有新数据时进行更新 我该怎么办 使用jquery 例子 是的 jQuery 非常适合这个 查看这些方法 http api jquery com category ajax http api jquery co
  • 无法加载资源:服务器在已部署的 React.js 项目中响应状态为 404(未找到)

    当我将 React 项目部署到 Surge 中时 构建成功并且可以获取应用程序 URL 但是当我链接到 URL 时 我可以在检查控制台中看到一个空白页面和一些错误 Failed to load resource the server res
  • 为什么 Bootstrap 按钮下拉菜单在 iOS 上不起作用?

    看起来甚至连引导演示在这里 http twitter github com bootstrap components html buttonDropdowns不适用于 iOS 您似乎无法在 iPhone 或 iPad 上从中选择项目 有解决
  • GraphQL:从对象构建查询参数

    如果我有一个对象 where publishedAt lt 2018 01 01 如何将其转换为适合查询参数的字符串 articles where publishedAt lt 2018 01 01 这看起来是一个有趣的库 我建议检查一下
  • 如何修复 package-lock.json 中未在 package.json 中列出的易受攻击的 npm 包?

    Github 告诉我 我的 package lock json 文件中的依赖项容易受到攻击且已过时 问题是如果我这样做npm install or npm update 它们都没有更新 package lock json 文件中的依赖项 我
  • 在 NodeJs 中使用 Jest 模拟 Http Post 请求

    我有一个使用本机 https request 使用 Azure Function 内的 Node Js 构建的外部 POST API 一切正常 现在我正在尝试构建单元测试用例 并对模拟 Request 方法感到震惊 回调响应具有 on 功能
  • JavaScript - babel-preset-env 不为 IE11 转换箭头函数

    我很难尝试配置 Babel 来转译 IE11 可以理解的代码 特别是箭头函数 跑步npx webpack mode development使用我的配置不会转换我的代码中的箭头函数 在eval 在生成的代码中的语句中 我可以看到所有实例都未转
  • Google 闭包编译器使用 WebStorm

    我喜欢用谷歌闭包编译器 https developers google com closure compiler in WebStorm https www jetbrains com webstorm 我已经通过 npm 下载了它 npm
  • 闭包和异步 Node.js 函数

    All 尝试了解 Node js 上下文中的闭包 异步调用 我有以下代码 timer setInterval pollOID 1000 function pollOID for channel in channels session get
  • Array.from 的时间复杂度

    时间复杂度是多少Array from 例如 const set new Set set add car set add cat set add dog console log Array from set time complexity o
  • 如何拆分字符串,在特定字符处断开?

    我有这个字符串 john smith 123 Street Apt 4 New York NY 12345 使用 JavaScript 将其解析为最快的方法是什么 var name john smith var street 123 Str
  • Django 管理中的自定义依赖下拉菜单

    我有一个按阶段模型的项目外键 我很难在 Django 管理页面中创建依赖的下拉列表 我想当用户从该项目的 项目下拉 阶段选择一个项目时 在第二个下拉菜单中显示 实现这一目标的最佳方法是什么 如果下拉列表根据其父级的值来过滤项目 那就太好了
  • 纯 JavaScript 工具提示

    我正在尝试用纯 JavaScript 制作一个工具提示 显示在hover 就像 Stack Overflow 中将鼠标悬停在个人资料名称 a 上一样div显示 我尝试使用onmouseover onmouseout并添加了setTimeou
  • Bootstrap 多选限制问题

    我使用创建了一个多选下拉列表引导多选 http davidstutz github io bootstrap multiselect 我需要在选项选择中设置一个限制 这里我将其设置为 5 如果达到限制 我只需禁用其他选择选项 它就可以完美工
  • ag-Grid 中的行格式

    我们需要有条件地将行文本设置为粗体 目前它仅适用于单个单元格 但我们需要在所有列单元格上应用文本粗体 应用格式设置后 isBold 列必须隐藏 删除 此列仅用于格式化 如何应用文本缩进 10px isBold 列包含真实值的第一列的 有可能
  • CORS:为什么我的浏览器不发送 OPTIONS 预检请求?

    从我读到的内容来看CORS https en wikipedia org wiki Cross origin resource sharing 我理解它应该按如下方式工作 客户端的脚本尝试获取资源从服务器不同的起源 浏览器拦截这个请求并首先
  • Firefox 本地主机上的 Twilio 屏幕共享?

    目前 Firefox 中本地主机上的屏幕共享会引发以下错误 The request is not allowed by the user agent or the platform in the current context 这是我的代码
  • 将 html

    我有一些服务器端代码当前支持 http 字节范围请求 没有任何问题 但是 我希望能够在将转码后的块发送到客户端之前使用 ffmpeg 即时转码视频文件 位于磁盘上 但 ffmpeg 要求我在获取字节时给它一个寻道时间范围来自客户 给定客户端
  • 事件监听器如何/何时附加到 d3.js 中?

    我正在尝试制作一个 SVG 编辑器 长话短说 我需要将鼠标事件附加到
  • Node.js 和 npm phoenix-client 包与 Kerberized Apache phoenix 的连接

    我正在尝试将 Kerberized Apache phoenix 与 node js 上的 npm jdbc 包连接起来 kerberized apache phoenix 的 node js 和 npm jdbc 包问题 https st

随机推荐

  • 如何在 Fortran 中正确地终结对象?

    我有一个解析文本文件的对象 这是我的主要程序 program main use Parser class implicit none type Parser Parser call Parser ProcessFile data txt c
  • 如何在应用程序中获取 Dart 和 Flutter 版本

    How to log 的版本Dart and Flutter在应用程序内 like String dartVersion log dart dartVersion 要执行 dart 版本 您可以使用 Platform 类直接返回 dart
  • 如何在GWT页面中显示java小程序?

    我可能在这里遗漏了一些简单的东西 但我在其他地方找不到答案 我只想在我的 GWT 代码中显示一个小程序 操作系统 Windows XP Java JDK 1 6 0 10 其他 GWT GWT Ext 2 0 5 这是小程序 显然是为了测试
  • 我正在尝试使用命令 sudo npm install --g expo-cli 请注意我尝试 --force 全局重新安装 expo-cli 软件包

    bosshoc MBP de BOSS meals app sudo npm install g expo cli Password npm ERR code ENOTEMPTY npm ERR syscall rename npm ERR
  • Android WebView - 拦截点击

    我编写了一个带有 WebView 的简单 helloworld 应用程序 该应用程序在我的 asset 文件夹中的 simple html 页面上有 CNN 的链接 a href http cnn com cnn com a 如何捕获对我的
  • 合并两个都有联结表的 SQLite 数据库

    我有两个 SQLite 数据库 它们都有连接表来描述一对多关系 现在 这两个数据库需要通过某种导入 导出机制合并为一个数据库 并仍然保留关系 我试图转储DB2 with dump然后将其加载回DB1 with read 但总是得到PRIMA
  • 如何制作克隆或扩展模式

    我有多个显示器 虚拟 真实 默认情况下我想从我的程序将其置于克隆 双模式 有人可以建议我如何实现这一目标吗 我对这个世界很陌生 对于这个基本问题感到抱歉 即使任何文档或任何链接都将非常值得赞赏 萨博吉特 Extend SetDisplayC
  • MSP430G2553 定时器间隔 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 在阅读了大约五遍文字并进行谷歌搜索后 我决定寻求帮助 我目前正在使用 Timer A 中断以 1 秒 10 秒 1 分钟的间隔一次打开 关闭两个 LED 默认程序每秒都会打开 关闭 L
  • 我可以阻止特定数据成员被反序列化吗?

    我有这样的数据合同 DataContract class MyDC DataMember public string DM1 DataMember public string DM2 DataMember public string DM3
  • QTP 中的 RO 属性和 TO 属性有什么区别?

    在QTP中每个测试对象都支持以下方法 GetRoProperty GetToProperty SetToProperty GetToProperties 和有什么区别RO 财产和TO property 为什么我只能设置一个TO 财产而不是R
  • 如果 id 匹配,则从 mysql 选择行

    我想从 mysql 中选择与特定 id 匹配的行 我想获取ID是否匹配的结果 如果数据库中不存在该ID 则不应该执行任何操作 我这样运行 q SELECT FROM entries where id 1 result mysql query
  • Visual Studio 2017 - Git 因致命错误而失败

    我使用的是 Visual Studio 2017 Community Edition CE 并且已登录我的 Microsoft 帐户并连接到 VSTS 我可以看到我的所有项目和存储库 但是当我尝试拉 取 推送任何更改时 我收到以下错误 Er
  • 设置包括 Wamp 上 PEAR 的路径

    安装 PEAR 并按照上的说明进行操作http www phpunit de manual current en installation html pear config set auto discover 1 pear install
  • 从资源加载dll库到当前域(在主exe文件中嵌入dll)

    我尝试使用以下代码在运行时加载 dll 库 这样我就不必向用户提供大量 dll 文件以及主可执行文件 我已将所有 dll 文件作为嵌入式资源包含在内 并且在参考部分中我已包含它们并设置了复制本地属性为 false 但这里的问题是 1 所有d
  • 在 Firebase 中检索嵌套数据 - Android

    我刚刚进入 firebase 和 android 的世界 我按照在线教程设置和获取非嵌套数据并将其显示在列表视图中 如下所示 数据之前 mListView ListView findViewById R id ListView final
  • UIView 背景颜色影响 iOS 5 中的触摸

    我有一个在 iOS 4 中运行的具有子类触摸响应的自定义视图 在 iOS 5 上 当沿着视图的底部边缘触摸时 这些触摸根本不会响应 if视图的背景颜色设置为clearColor 我一直无法追踪到这一点 但有谁知道 iOS 5 是否改变了视图
  • 如何让 perf stat 支持 KVM 中的“分支”、“分支未命中”等硬件事件

    我想通过 分支未命中 硬件事件来评估一个进程的性能 但是当我使用 perf stat 获取 分支未命中 数据时 它总是返回 0 因为我的操作系统位于 KVM 中 因为我拿一台真机来做测试比较麻烦 所以我想知道当我在 KVM 中时 有什么方法
  • 具有多个模板的 ASP Repeater 控件

    如何拥有具有多个模板的转发器控件 其中选择的模板基于项目的类型 这就是我目前所拥有的 我的复读班 ToolboxData lt 0 LifestreamRepeater runat server gt public class Lifest
  • 变异观察者产生无限循环

    我正在使用 jQuery 的突变观察器编写一个函数来注册对 DOM 的更改 特别是在添加新节点时 以便我可以更改其内容 SELeCTOR GOOD click function var targetNode this find conten
  • 表达 sendfile 和重定向 url

    我有一堆中间件 一开始app use我测试该过程是否受到胁迫 如果是 我希望它只发送静态 index html文件并将用户的浏览器重定向到 req url 例如 app set port PORT etc app use function