问题标签 [keystonejs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
571 浏览

node.js - 向 Keystone 模型添加 .post() 事件侦听器时,isNew 属性始终返回 false

我试图在创建新文档时加入第一个保存事件。看起来像这样。

但是,即使我通过 Keystone 管理面板创建新用户,它也会返回 false。知道为什么吗?Keystone 是否在后台再次触动了文档?我应该如何去连接一个新的存档?

0 投票
1 回答
3512 浏览

javascript - 如何在 Keystone.js 项目中使用 Express.js 中间件?

我目前正在构建一个Keystone.js项目,并且需要使用一些Express.js中间件库。由于 Keystone.js 是建立在 Express.js 之上的,这似乎相当容易,但到目前为止,我遇到了很多问题。

这是我目前正在尝试的(这是我对正确方法的最佳猜测):

在我的keystone.js文件(应用程序的主入口点)中,我直接在之前插入以下代码keystone.start()

这里重要的一点是keystone.app.use(...);——我查看了 Keystone.js 源代码,似乎底层的 Express.js 应用程序对象公开为keystone.app,这就是我尝试以这种方式使用它的原因。

不幸的是,虽然我的 Keystone Web 服务器在运行时启动$ node keystone.js,但尝试加载我网站上的任何页面都会导致以下异常:

我已经让 MongoDB 在本地运行得很好,如果我在上面注释掉我的代码,事情会按预期工作,所以我知道这是根本原因。

任何帮助,将不胜感激。

0 投票
0 回答
337 浏览

keystonejs - 初学者:库存安装的内存使用情况

当运行标准的 keystone 安装(通过 generator-keystone)时,它的内存使用量似乎在 200-500mb 之间。这实际上足以使我专门创建的一个新的 512mb digitalocean vps 上的进程崩溃,以测试这是否只发生在我的本地环境中。

访问任何 URL 时,内存使用率都会上升。因此,如果我转到 Keystone 管理面板并从一个集合转到另一个集合,再转到实际站点,返回到管理员,大约 20 个 URL 之后 RAM 使用率非常高。如果进程从 130mb 开始,点击 5-10 个 url 可以看到它上升到 250-300mb,并且不会停止,永远不会再恢复到 130mb。再一次,我没有编辑任何项目文件,这是一个股票 keystone 安装。

求助,我做错了什么?这是正常的吗?我从在一台机器上用 PHP 托管许多小型低流量站点的计划似乎陷入了困境。我在这里有一些基本的误解吗?也许节点不适合我?我将受益于 npm 并在前后保留 js,所以它对我非常有吸引力。

附言。我已将“会话存储”设置为 mongo 并安装了相应的软件包,并将 NODE_ENV 设置为生产,问题仍然存在。

pps。通过 nvm 安装的节点版本 0.12,无论从主管或节点运行它都会发生这种情况。

0 投票
1 回答
827 浏览

node.js - 无法在 Openshift 上运行 keystone node.js 应用程序

编辑 2 - 最后的笔记

下面的解决方案对我有用,但是您仍然需要手动指定如上所示的 mongo 连接凭据才能使应用程序正确运行,否则您将收到 mongo auth 错误。

编辑 1 - 添加了完整的 keystone.js

keystone.js

我正在尝试构建我的第一个 Keystone.js,让它在我的机器上本地运行良好。

现在,我正试图将我的网站推送到 Openshift 并且惨遭失败。

我已经通过将它添加到 keystone.js 来连接 mongo:

但是我无法让事情正常运行,因为它似乎在绑定到我在 Openshift 上提供的 ip 和端口时遇到问题,我正在使用以下代码:

结合:

但我不断得到:

现在我检查了 Openshift 实例上的环境,它们似乎是正确的变量,我正在获取端口 8080,并且似乎是正确的 IP 地址。

我也尝试过对端口和地址部分进行硬编码,但似乎没有什么区别,而且对于本地测试也不是真正可行的。

我显然在这里遗漏了一些简单的东西,非常感谢您的帮助!

谢谢

0 投票
2 回答
4812 浏览

keystonejs - 设置 API 端点以与 Keystone 一起使用的正确方法是什么?

文档中并不清楚如何使用现有的 Keystone 模型来公开在 Keystone.js 应用程序中返回 json 的 API 端点。我只是希望能够使用 Keystone 公开 REST API 端点,并能够使用 Keystone CMS 功能通过与这些端点交互来管理内容。谢谢!

0 投票
1 回答
2010 浏览

signing - KeystoneJS 登录

我正在创建一个 keystone 项目,我需要提供允许或不允许用户使用 keystone 登录进行访问。但是,我发现 keystoneJS 会发送带有电子邮件、密码和 csrf 的表单数据。当用户访问登录页面时,此 csrf 将提供给用户。

尽管如此,我需要做的是通过使用 API 与外部通信以登录用户。如何生成 _csrf?还有另一种方法然后生成两个请求吗?

谢谢

0 投票
1 回答
998 浏览

javascript - 无法格式化 keystone.js 中的嵌套日期字段

我正在扩展 keystone.js 以支持模型中的多种语言。

原始模型如下所示:

我的扩展模型如下所示:

我在视图模板中使用嵌套的 publishedDate 属性时遇到问题。

适用于原始模型的原始视图代码:

为我的新模型调整了视图代码(这是我遇到问题的地方):

使用post[lang].xxxxxxI 可以参考我帖子中的所有其他项目(例如post[lang].title.

我是否遗漏了导致这些嵌套下划线函数失败并出现以下错误的内容?

non_object_property_load 请求引发错误”/en/blog
TypeError:无法读取未定义的属性“publishedDate”



编辑:
它变得更加奇特......下面似乎有效:

如果有人可以解释为什么这样做(或更好的方法来实现这一点),我将不胜感激。

0 投票
0 回答
587 浏览

node.js - Keystone JS 中有标签字段类型吗?

我正在寻找一个标签字段类型,如果标签已经存在,它将自动完成,如果不存在,则只需添加标签。我认为在其他 CMS 中有很多这样的实现,我想在我卷起袖子之前摇晃一下树,看看是否有人已经这样做了。假设它存在,我想它将按如下方式实现:

0 投票
1 回答
545 浏览

node.js - KeystoneJS:管理 UI 中的关系未更新

我正在自定义 KeystoneJS,我遇到了一个问题,我的管理 UI 中的关系列表似乎无法更新。

具体来说,我正在查看具有在 Post.categories 字段上定义的关系的默认 Post 和 Post Categories 模型。如果我添加一个类别,它不会显示为创建或编辑帖子时的选项。

会不会进行某种数据缓存?有没有人看到这个问题,我没有看到任何错误,我可以确认已经在 MongoDB 中创建了类别,并且前端可以正常查看和显示类别。

谢谢

0 投票
1 回答
613 浏览

javascript - Generating html files for AngularJS application with KeystoneJS CMS

I'm a newbie when it comes to AngularJS and KeystoneJS, and I would really appreciate your help. Thank you guys.

I have done a serving mechanism for my Angular application which uses Express's express.static. At this point, my application can successfully load regular html-files from different locations to a particular page with the code below.

controller.js:

page.html:

routing.js

Next, I would like to load content from a separate KeystoneJS CMS to this particular page in my own Angular application. Basically, I just want to be able to edit some content with KeystoneJS and publish the content on my separate Angular application automatically after that.

1) How can I get the pages exported from Keystone in a form of a html-page?