如何在 Docpad 中处理路线

2024-06-24

这应该是非常明显的,但我就是无法理解它

如何在 Docpad 中添加额外的路线?

我正在寻找相当于express.js的Docpad

app.post("*", function(res,req,next){
//Do stuff
}

据我所知,我需要为此创建一个插件模块? 如何告诉 Docpad 使用我的路线? 我猜它与扩展服务器事件有关,我是否将其作为参数放入 docpad.coffee 中?

如何将 req 对象传递给我的路由处理程序?

我可以强制 docpad 始终首先考虑我的路由吗?有点像中间件? 我可以将(已处理的)URL 传递回 docpads 标准路由吗?如何?


您是否正在寻找这样的东西:

server.get /list\/[a-zA-Z]+/, (req,res,next) ->
                document = docpad.getCollection('documents').findOne({relativeOutPath: 'index.html'});
                docpad.serveDocument({
                    document: document,
                    req: req,
                    res: res,
                    next: next,
                    statusCode: 200
                });

这是 docpad.coffee 文件中的一个事件(服务器扩展)。它拦截请求并根据正则表达式对其进行测试(很容易只是一个普通的 url)。用户将看到他们输入的 url,但将提供 index.html。

或者更接近您的情况:

server.post "*", (req,res,next) ->
                #do stuff

docpad.coffee 里面

events:

    # Server Extend
    # Used to add our own custom routes to the server before the docpad routes are added
    serverExtend: (opts) ->
        # Extract the server from the options
        {server} = opts
        docpad = @docpad

        # As we are now running in an event,
        # ensure we are using the latest copy of the docpad configuraiton
        # and fetch our urls from it
        latestConfig = docpad.getConfig()
        oldUrls = latestConfig.templateData.site.oldUrls or []
        newUrl = latestConfig.templateData.site.url

        server.post "*", (req,res,next) ->
          #do stuff
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Docpad 中处理路线 的相关文章

  • 在 Gorilla Mux 中嵌套子路由器

    我一直在使用gorilla mux https github com gorilla mux满足我的路由需求 但我注意到一个问题 当我嵌套多个子路由器时它不起作用 这是示例 func main r mux NewRouter StrictS
  • Rails 中的漂亮路径

    我有一个类别模型 我使用默认的脚手架来路由它resources categories 我想知道是否有办法改变路径 category id to category name 我补充道 match categories name gt cate
  • Rails 路线、url 和子域

    我的 ruby 应用程序分为不同的命名空间 例如 免费 free domain com 专业版 pro domain com vip vip domain com 在路由文件中看起来像这样 namespace free do match h
  • Svelte 路线给我 404

    我在 Svelte 中为我的应用程序创建了一个简单的路由器 如果我从导航栏访问链接 它就可以工作 如果我重新加载页面 它会给我 404 为什么
  • 设计和自定义 Rails 用户 URL

    我目前正在使用 Rails 3 2 5 和最新的 devise gem 目前用户可以访问他们的个人资料页面 example com users john doe 我想删除网址的用户部分 因此网址将是example com john doe
  • React router dom 6 中的受保护路由

    我在反应中创建了简单的用户上下文 用户提供者 export const AuthContext createContext export const AuthProvider children gt const user setUser u
  • Docpad 上的 Bootstrap 下拉菜单和可选项卡

    我使用 Twitter Bootstrap 框架创建了一个 Docpad 网站 我无法使 Bootstrap 的可选项卡或下拉菜单正常工作 它们呈现 但不运行 根据 Stackoverflow 的研究 这些 Bootstrap 函数似乎需要
  • 以编程方式启用 Internet 连接共享

    我可以手动执行此操作 方法是右键单击网络连接 打开 共享 选项卡 单击 允许其他网络用户通过此计算机的 Internet 连接进行连接 复选框 然后选择 家庭网络连接 在研究这个问题时 我发现了多组 COM 接口 1 Internet 连接
  • 如何创建不覆盖其他控制器路由的 Codeigniter 路由?

    我的 Codeigniter 应用程序中有很多控制器 例如 注册 个人资料 主要等 现在我想建立 User 控制器 我想要的是 如果人们访问网址 example com signup 我想使用默认路由到 Signup 控制器 如果人们访问网
  • Rails 路由:嵌套、成员、集合、命名空间、范围和可定制

    我想更多地了解铁路路线 会员及收藏 Example resource route with options resources products do member do get short post toggle end collecti
  • ZF2 路线参数带斜杠

    是否可以使用包含正斜杠的参数来组装路由 Config someroute gt array type gt Zend Mvc Router Http Segment options gt array route gt someroute p
  • Ruby on Rails - 向所有路由添加 ID 参数

    我想知道在 Rails 路由中实现以下功能的最佳方法是什么 场景 一个网站 用户注册账户 gt accountID 账户 成为网站内的主要实体 例子 https basecamp com ID https basecamp com ID 将
  • 导航嵌套组件时创建面包屑 (Angular 2)

    我正在为此苦苦挣扎 这个想法是有一个组件 当浏览子视图时更新面包屑 例如
  • 检测 Angular 项目中的浏览器刷新

    我想使用我的路由器来检测页面何时刷新单页应用程序 https en wikipedia org wiki Single page application 角度项目 还有其他方法吗 In the 组件 ts file import Subsc
  • 如何在 Docpad 中处理路线

    这应该是非常明显的 但我就是无法理解它 如何在 Docpad 中添加额外的路线 我正在寻找相当于express js的Docpad app post function res req next Do stuff 据我所知 我需要为此创建一个
  • 在 Laravel 4 路由中接受编码的 URL

    我正在 Laravel 4 Beta 5 中开发一个网站 我试图将编码的 URL 传递到路由器 问题是 编码的 URL 中包含百分比等 因此它被 Laravel 阻止 URL 使用 Javascript 函数进行编码encodeURICom
  • 访问层次结构之外的顶级资源

    有没有一种方法可以在verilog中综合架构 以便深度嵌套的端点可以访问一些顶级引脚 来自 ucf 而无需通过层次结构的每个模块明确路由引脚 就我而言 我有一个带有深度嵌套端点的 PCIe 块 在端点处有一个地址解码器 需要从顶层引脚提供一
  • 从业务逻辑类重定向 asp.net mvc 页面

    我在业务逻辑层中调用一个静态方法 出于我在这里不会提及的目的 该方法需要自行进行重定向 而不是将信息返回到控制器以进行重定向 我认为我需要使用 HttpContext 对象 但正在努力创建路由 我不能简单地执行 context Respon
  • 如何从 Sinatra 中删除路线?

    我有一些动态加载的插件 它们在启动时注册它们的路由 但是我还需要能够在禁用它们时删除它们的路由 有没有办法删除现有的路线 API 没有任何我能找到的方法来删除它们 我能想到的唯一其他方法就是直接访问 Sinatra Base 中的 rout
  • 从组件刷新/重新加载 ember 路由

    我有一个组件 它实际上是一个模式对话框 当我完成该对话框并按 确定 按钮时 我想留在打开该对话框的停留页面上 这并不难 但问题是该对话框更改了数据 我通过 REST 调用获取数据 因此我需要刷新已经所在的路线以反映数据更改 因为我是从组件中

随机推荐

  • project.parent.name 和parent.name 之间的区别以及在pom.xml 中使用finalName

    对线程的研究具有显式 FinalName 的 Maven 将无法正常工作 https stackoverflow com questions 40336878 maven with an explicit finalname wont wo
  • ASP.NET锁定线程的方法

    我正在使用 C 开发 ASP NET 表单 Web 应用程序 我有一种为客户创建新订单的方法 它看起来与此类似 private string CreateOrder string userName Fetch current order O
  • C++ for 循环和基于范围的循环性能

    我读到基于范围的循环在某些编程语言上具有更好的性能 C 中也是这样吗 例如 int main vector
  • 将 RenderTargetBitmap 转换为 System.Drawing.Image

    我有 3D WPF 视觉对象 我想将其传递到 Excel 单元格 通过剪贴板缓冲区 对于 普通 BMP 图像 它可以工作 但我不知道如何转换RenderTargetBitmap 我的代码如下所示 System Windows Media I
  • 如何在 C# 中检查对象是否可序列化

    我正在寻找一种简单的方法来检查 C 中的对象是否可序列化 正如我们所知 您可以通过实现以下方式使对象可序列化可序列化接口或通过放置 可序列化 在班级中名列前茅 我正在寻找一种快速的方法来检查这一点 而不必反映该类来获取其属性 使用界面会很快
  • 此代码中 Matlab 与 C++ 速度比较

    我编写了简单的 C 代码并在 C 中对其进行了测试 然后我通过以下方式为 MATLAB 调整了相同的代码mex file name cpp并在 MATLAB 中运行相同的代码 该代码使用与 C 相同的编译器 这是代码 int k for i
  • 如何为 java 调用者声明返回类型为“void”的 Kotlin 函数?

    我有一个完全用 Kotlin 编写的库 包括其公共 API 现在该库的用户使用 Java 这里的问题是 Kotlin 函数具有返回类型Unit未编译为返回类型void 结果是 Java 端必须始终为实际上无效的方法返回 Unit INSTA
  • 用于存储键值映射的最佳 PostgreSQL 数据类型?

    我想将一个简单的键值字符串映射存储为 PostgreSQL 表中的字段 我打算将地图视为一个整体 即 始终选择整个地图 并且永远不要通过其键或值进行查询 我读过文章比较hstore json and jsonb 但这些并不能帮助我选择哪种数
  • 如何在 SwiftUI 中声明“全局@State变量”?

    我是 SwiftUI 新手 目前正在构建我的第一个应用程序 但是 我有一个问题 我正在编写一个多视图应用程序 在其中我想使用某种全局变量以便能够从我的所有视图访问和编辑它们 例如 我在应用启动时询问用户的 性别 体重 和 许可证 但是 我也
  • 为什么在 Numpy 中双布尔索引会得到这样的结果?

    我对最后一个表达式的结果感到惊讶 gt gt gt from numpy import array arange gt gt gt a arange 12 reshape 3 4 gt gt gt b1 array False True T
  • 在react.js 中的 componentDidMount() 中执行 fetch 之前,如何通过 navigator.geolocation 获取用户的位置?

    我尝试过多种不同的方法 但我被难住了 不熟悉如何在 React 中使用 Promise 和进行 api 调用 这就是我现在所拥有的 import React Component from react import Column from C
  • Chromedriver 在 Selenium 测试中未加载页面

    我在使用 chromedriver exe 以及我在 Selenium 的帮助下编写的一些单元测试时遇到了异常情况 当使用 chromedriver 的第一个测试执行时 浏览器启动并且测试通过 但是 对于使用 chromedriver 的以
  • 有没有更好的方法来使用Tornado处理index.html?

    我想知道是否有更好的方法来使用 Tornado 处理我的 index html 文件 我对所有请求使用 StaticFileHandler 并使用特定的 MainHandler 来处理我的主要请求 如果我只使用 StaticFileHand
  • Enum.GetName 与 Enum.ToString

    对于这个枚举 Enum MyEnum Value End Enum 有两种方法获取名称表示Value of MyEnum Value Enum GetName GetType MyEnum MyEnum Value aka Enum Get
  • 如何使用 OR/AND 运算符在 GitHub 上进行搜索

    如何在 GitHub 上搜索包含关键字 java AND python 或 C 的问题 是否可以使用 OR AND 等逻辑运算符来表示搜索 事实证明 GitHub并没有提供实现ANR OR这样的搜索逻辑的函数 我想到的解决方案是编写一个爬虫
  • 尝试使 Hazelcast 集群与 JCache 兼容客户端一起使用时出现异常

    我正在尝试让一个小型 Hazelcast 集群与简单的 JCache 兼容客户端配合 不幸的是 我得到了异常 java lang IllegalArgumentException 没有使用名称注册的服务 hz impl cacheServi
  • 存储过程中的分组和循环

    我需要对 MTH1 MTH2 等列进行求和 但对于我传递的参数 它将为同一帐户代码生成六行信息 这是正确的 它应该产生什么我的问题是如何只返回其中一个数据 但是到目前为止 这就是我的存储过程中六行的总和 ALTER PROCEDURE db
  • 使用 php 发送 Windows Phone 7 的推送通知

    我是一名网络开发人员 PHP 我想使用 PHP 搜索 Windows Phone 7 的推送通知 但结果始终是 NET 请有人可以帮助我 UPDATE 如何同时发送多台设备 因为延迟时间在1秒左右 所以如果我有1000个设备要推送 我可能需
  • Angular ng-repeat 导致闪烁

    我正在使用以下代码显示缩略图列表 div class channel img class channel img div 在控制器中 我有一个 ajax 请求 它可以获取新的缩略图 因此 Angular 会更新图像 但会导致闪烁 有没有办法
  • 如何在 Docpad 中处理路线

    这应该是非常明显的 但我就是无法理解它 如何在 Docpad 中添加额外的路线 我正在寻找相当于express js的Docpad app post function res req next Do stuff 据我所知 我需要为此创建一个