1. ホーム
  2. node.js

[解決済み] NodeJS - 要エラーシークレット

2022-02-27 04:51:26

質問

私はnodejsを使うのが初めてで、チームメイトとすでに動いているサーバーを始めようとしているところです。 私はMacを使用しており、すでに"npm install"で必要なモジュールをすべてインストールしました。 現在、モジュール "cookie-signature" に問題があるようです。これは既に "express"- モジュールに含まれています。プログラムを起動しようとするとエラーは出ないのですが、localhost:3000でページを開こうとすると、以下のエラーが出ます。

/Users/kevinglaap/Sites/Uni/git/node_server/node_modules/express/node_modules/cookie-signature/index.js:19
  if ('string' != typeof secret) throw new TypeError('secret required');
                                       ^
TypeError: secret required
    at Object.exports.sign (/Users/kevinglaap/Sites/Uni/git/node_server/node_modules/express/node_modules/cookie-signature/index.js:19:40)
    at ServerResponse.end (/Users/kevinglaap/Sites/Uni/git/node_server/node_modules/express/node_modules/connect/lib/middleware/session.js:267:34)
    at ServerResponse.EventEmitter.emit (events.js:93:17)
    at ServerResponse.res.writeHead (/Users/kevinglaap/Sites/Uni/git/node_server/node_modules/express/node_modules/connect/lib/patch.js:73:36)
    at ServerResponse._implicitHeader (http.js:932:8)
    at ServerResponse.OutgoingMessage.end (http.js:767:10)
    at res.end (/Users/kevinglaap/Sites/Uni/git/node_server/node_modules/express/node_modules/connect/lib/middleware/session.js:282:13)
    at /Users/kevinglaap/Sites/Uni/git/node_server/node_modules/express/node_modules/connect/lib/middleware/session/memory.js:73:11
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

このモジュールは、サーバーのリソースで使用されることはありません。このエラーは、リソースが何か間違ったことをしている可能性を示すフェッチエラーなので、私はすでに "sign"- 関数の使用を確認しましたが、それは express または express 内の他のモジュールによってのみ使用されています。 もう何日もウェブで検索しているのですが、まだ解決策が見つかっていません。私は何を見逃しているのでしょうか?あなたの助けのために事前にありがとうございます。

解決方法を教えてください。

expressのインスタンスを設定する際に必要なものです。

app.use(express.cookieParser('your secret here'));
app.use(express.session());

cookieParser (秘密の文字列を含む) が express.session()