を実施した後、私はこのようなREQ-フラッシュを実施しました。 これを実行した後、次のエラーが表示されますExpressjs/AngularJS:<a href="https://www.npmjs.com/package/req-flash" rel="nofollow">https://www.npmjs.com/package/req-flash</a>:エラーREQ-フラッシュ
:module.exports = function(options) {
if (options.locals) {
localsKey = options.locals;
}
return flash;
};
これは私のapp.jsのイントロです:
D:\_SOURCES\smfc\node_modules\req-flash\index.js:36
if (options.locals) {
^
TypeError: Cannot read property 'locals' of undefined
at module.exports (D:\_SOURCES\smfc\node_modules\req-flash\index.js:36:13)
at Object.<anonymous> (D:\_SOURCES\smfc\routes\index.js:6:13)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (D:\_SOURCES\smfc\app.js:15:14)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (D:\_SOURCES\smfc\bin\www:7:11)
これはREQ-フラッシュからindex.jsの一部です。
var mongoose = require('mongoose');
require('./models/SupermarketGroups');
mongoose.connect('mongodb://smfc:[email protected]:11482/smfc');
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var bodyParser = require('body-parser');
var flash = require('req-flash');
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(cookieParser());
app.use(session({ secret: '123' }));
app.use(flash());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
は私のコードの何が問題になっているのですか?
問題は 'flash'コンストラクタ関数は、それが'フラッシュのような呼び出しを期待意味** 'options'オブジェクトは**常にで渡されることを期待していることである({/ *期待optionsオブジェクト* /})'。あなたがここで何をしているのかを渡さないと、適切なフォールバックはありません。フラッシュ(/ *あなたは何も渡しません* /) '。したがって、オプションがない場合は、オプションオブジェクトを渡して空のオブジェクトを渡すことが最適です([Niveshが提案](http://stackoverflow.com/a/37256777/3928341)) ({}) ' – nem035