私は現在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 をローカルで問題なく実行しています。上記のコードをコメントアウトすると、期待どおりに動作するので、これが根本的な原因であることがわかります。
どんな助けでも大歓迎です。