4

私は現在Keystone.jsプロジェクトを構築しており、いくつかのExpress.jsミドルウェア ライブラリを使用する必要があります。Keystone.js は Express.js の上に構築されているため、これはかなり簡単に思えましたが、これまでのところ、多くの問題に直面しています。

これが私が現在試みていることです(これはこれを行う正しい方法に関する私の最善の推測です):

keystone.jsファイル (アプリのメイン エントリポイント) で、次のコードを の直前に挿入していますkeystone.start()

keystone.app.use(stormpath.init(keystone.app, {
  ...
}));

ここで重要なのはビットですkeystone.app.use(...);。Keystone.js ソースを調べたところ、基になる Express.js アプリケーション オブジェクトが として公開されkeystone.appているようです。そのため、この方法で使用しようとしています。

残念ながら、私の Keystone Web サーバーは の実行時に起動しますが$ node keystone.js、私のサイトのページをロードしようとすると、次の例外が発生します。

$ node keystone.js

------------------------------------------------
KeystoneJS Started:
keystone is ready on port 3000
------------------------------------------------

TypeError: Object #<Object> has no method 'regenerate'
    at doSignin (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/lib/session.js:38:15)
    at Promise.<anonymous> (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/lib/session.js:72:5)
    at Promise.<anonymous> (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:177:8)
    at Promise.EventEmitter.emit (events.js:95:17)
    at Promise.emit (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:84:38)
    at Promise.fulfill (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:97:20)
    at Promise.resolve (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/lib/promise.js:114:23)
    at Promise.<anonymous> (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:177:8)
    at Promise.EventEmitter.emit (events.js:95:17)
    at Promise.emit (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:84:38)
    at Promise.fulfill (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mpromise/lib/promise.js:97:20)
    at /Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/lib/query.js:1400:13
    at model.Document.init (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/lib/document.js:250:11)
    at completeOne (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/lib/query.js:1398:10)
    at Object.cb (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/lib/query.js:1155:11)
    at Object._onImmediate (/Users/rdegges/Dropbox/Code/testing/keystone/node_modules/keystone/node_modules/mongoose/node_modules/mquery/lib/utils.js:137:16)

MongoDB をローカルで問題なく実行しています。上記のコードをコメントアウトすると、期待どおりに動作するので、これが根本的な原因であることがわかります。

どんな助けでも大歓迎です。

4

1 に答える 1