gpt4 book ai didi

javascript - Node 模块的方法覆盖

转载 作者:搜寻专家 更新时间:2023-11-01 00:29:47 24 4
gpt4 key购买 nike

我正在使用 keystone Node 模块在我的应用程序中开发基于 cms 的页面。

我只是通过将它添加到我的 js 文件来初始化 keystone:var keystone = require('keystone');
但我目前面临的问题是,每个基于 keystone 的 cms 功能的路径是<强> localhost:3000/keystone/<featue-name>

我想从应用程序所需的另一个名称的 url 中删除 keystone。在 keystone 的 Node 模块内部进行更改就可以了!

但是如果我做 npm update我所有的改变都白费了。通常,在其他语言中,我曾经通过 METHOD OVERRIDING 来做到这一点.我不知道 Node 模块中的方法覆盖。
还有其他方法吗?

最佳答案

根据我在 the source 中看到的内容,管理路径前缀是可配置的(只是没有记录):

keystone.init({
...
'admin path' : 'your-own-path',
...
});

(这将使路径 localhost:3000/your-own-path/<feature-name> )

如果您没有使用最新的 Keystone,也许这可能有效(尽管有点 hack):

keystone.pre('routes', function(req, res, next) {
req.url = req.url.replace(/^\/your-own-path/, '/keystone');
next();
});

它的作用是替换一个 /your-own-path请求的 URL 前缀为 /keystone ,有点像“内部重定向”。

关于javascript - Node 模块的方法覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41213647/

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