gpt4 book ai didi

javascript - Sails.js - 通过快速中间件提供 sails 路线

转载 作者:行者123 更新时间:2023-12-03 04:43:54 25 4
gpt4 key购买 nike

我有一个 sails 应用程序,与该应用程序关联的路线、静态 Assets 是从根目录提供的,并且工作正常。我想添加一个快速中间件,以便我可以在特定路径中提供路由和静态 Assets 。

为了提供静态 Assets ,我在 config/http.js 中的 customMiddleware 函数中使用了以下内容,

app.use('/my/new/path', express.static(path.join(__dirname, '../client', 'dist')));

完成上述操作后,我可以从根目录和/my/new/path 加载静态文件。

现在,当涉及到路线时,我不确定如何使用 app.use 处理通过 Express 中间件加载的 sails 路线,例如主路线默认为我的 config/routes-client.js 中的“/”,我不想改变那里的路线,而是想使用如下所示的内容,我们通常将其用于典型的节点/快速应用程序,

app.use('/my/new/path', routes); --> where routes is my server routes

有没有办法添加一个快速中间件来为特定路径上的 sails 路线提供服务?

最佳答案

我不确定为什么您希望将前缀自动添加到自定义路由中,而不是直接将前缀添加到 config/routes.js 中的路由(或 config-routes-client.js) 文件,但这里是:

// config/http.js
middleware: {
reroute: function (req, res, next) {
// Set the prefix you want for routes.
var prefix = '/foo/bar';
// Create a regex that looks for the prefix in the requested URL.
var regex = new RegExp('^' + prefix + '(/|$)');
// If the prefix is found, replace it with /
if (req.url.match(regex)) {
req.url = req.url.replace(regex, '/');
}
// Continue processing the request.
return next();
}
}

确保将 reroute 添加到 config/http.js 中的 middleware.order 数组。顺便说一句,这也将处理静态文件。

关于javascript - Sails.js - 通过快速中间件提供 sails 路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42953945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com