問題タブ [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 - .post() イベント リスナーを Keystone モデルに追加すると、 isNew プロパティが常に false を返す

新しいドキュメントを作成するときに、最初の保存イベントにフックしようとしています。このように見えます。

ただし、Keystone 管理パネルから新しいユーザーを作成しても、false が返されます。理由はありますか?ドキュメントは、バックグラウンドでキーストーンによって再び触れられていますか? 新しいセーブに接続するにはどうすればよいですか?

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 - 初心者: ストック インストールでのメモリ使用量

(generator-keystone を介して) ストック標準のキーストーン インストールを実行すると、そのメモリ使用量は 200 ~ 500 MB のようです。これは実際には、これがローカル環境でのみ発生するかどうかをテストするために特別に作成した新しい 512 MB の digitalocean vps でプロセスをクラッシュさせるのに十分です。

URLにアクセスすると、メモリ使用量が増加します。したがって、Keystone 管理パネルに移動してコレクションからコレクションに移動すると、実際のサイトに移動し、約 20 個の URL の後に管理に戻ると、RAM 使用量が非常に高くなります。プロセスが 130 MB で開始された場合、5 ~ 10 個の URL をヒットすると、250 ~ 300 MB に上昇し、そこで停止することはなく、再び 130 MB に戻ることはありません。繰り返しになりますが、プロジェクト ファイルは編集していません。これはストック キーストーンのインストールです。

助けてください、私は何を間違っていますか? これは正常ですか?トラフィックの少ない小さなサイトを 1 台のマシンで PHP でホストすることから移行するという私の計画は、行き詰まっているようです。ここで根本的な誤解がありますか?多分ノードは私のためではありませんか?私は npm と js を前面と背面の両方に保持することの恩恵を受ける立場にあるので、非常に魅力的でした。

ps。「セッション ストア」を mongo に設定し、適切なパッケージをインストールし、NODE_ENV を production に設定しましたが、問題は解決しません。

pps。ノード バージョン 0.12 が nvm 経由でインストールされ、これはスーパーバイザーまたはノードからの実行に関係なく発生します。

0 投票する
1 に答える
2010 参照

signing - KeystoneJS サインイン

keystone プロジェクトを作成していますが、ユーザーが keystone サインインを使用してアクセスできるようにするかどうかを指定する必要があります。しかし、keystoneJS はメール、パスワード、csrf を含むフォーム データを送信することがわかりました。この csrf は、ユーザーがログイン ページにアクセスしたときに提供されます。

それにもかかわらず、私がする必要があるのは、API を使用して外部と通信してユーザーをログインさせることです。_csrf を生成するにはどうすればよいですか? 2 つのリクエストを生成する別の方法はありますか?

ありがとう

0 投票する
1 に答える
998 参照

javascript - keystone.js でネストされた日付フィールドをフォーマットできません

モデルで複数の言語をサポートするために、keystone.js を拡張しています。

元のモデルは次のようになります。

私の拡張モデルは次のようになります。

ビュー テンプレート内でネストされた publishedDate プロパティを使用すると問題が発生します。

元のモデルで動作する元のビュー コード:

新しいモデルの調整されたビュー コード (ここで問題が発生しています):

I を使用post[lang].xxxxxxすると、投稿内の他のすべての項目を参照できます (たとえば、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 - KeystoneJS CMS を使用した AngularJS アプリケーションの html ファイルの生成

私は AngularJS と KeystoneJS に関しては初心者です。助けていただければ幸いです。君たちありがとう。

Express の express.static を使用する Angular アプリケーションのサービング メカニズムを作成しました。この時点で、私のアプリケーションは、以下のコードを使用して、さまざまな場所から特定のページに通常の html ファイルを正常にロードできます。

コントローラー.js:

page.html:

ルーティング.js

次に、別の KeystoneJS CMS から、独自の Angular アプリケーションのこの特定のページにコンテンツをロードしたいと思います。基本的には、KeystoneJS で一部のコンテンツを編集し、その後、別の Angular アプリケーションでコンテンツを自動的に公開できるようにしたいだけです。

1) Keystone からエクスポートされたページを HTML ページの形式で取得するにはどうすればよいですか?