現在、node.jsとパスポートを持つシンプルなユーザー認証システムを構築しようとしていて、スケジュールされたSMSアプリケーションを表現しようとしています。 \ libに\ルータを表現\ zobri \ uabcprojects \ nodeauth \ node_modules \ \ユーザー:サーバーを初期化しようとしたときしかし、関係なく、私はGoogleで検索して試してみました修正の組み合わせ、cmdPromptはエクスプレスとパスポートでノード認証を設定しようとしています
$ノードappauth Cをレンダリングし続けるん\ index.js:458 新しいTypeErrorを投げます( 'Router.use()はミドルウェア機能が必要ですが、' + gettype(fn))があります。 ^
私は...私はチュートリアルを追っている理由として、見当もつかないが、一体何が起こっているかを把握することができないよう - 任意の助けをいただければ幸いです! ロバート
マイコード:
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const expHandlebars = require('express-handlebars');
const expValidator = require('express-validator');
const expSession = require('express-session');
const flash = require('connect-flash');
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const database = require('mongodb');
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/appAuth');
const db = mongoose.connection;
// routes
const routes = require('./routes/index');
const users = require('./routes/users');
// initialize application
const app = express();
// view engine
app.set('views', path.join(__dirname, 'views'));
app.engine('handlebars', expHandlebars({ defaultLayout: 'layout' }));
app.set('view engine', 'handlebars');
// body-parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
// set static directory
app.use(express.static(path.join(__dirname, 'public')));
// express session
app.use(expSession({
secret: 'rddremind',
proxy: true,
resave: true,
saveUninitialized: true
}));
// passport init
app.use(passport.initialize());
app.use(passport.session());
// express validator (code snippet courtesy of 'https://github.com/ctavan/express-validator')\\
app.use(expValidator({
errorFormatter: function(param, msg, value) {
var namespace = param.split('.'),
root = namespace.shift(),
formParam = root;
while (namespace.length) {
formParam += '[' + namespace.shift() + ']';
}
return {
param: formParam,
msg: msg,
value: value
};
}
}));
// connect flash
app.use(flash());
// Global variables
app.use(function(req, res, next) {
res.locals.success_msg = req.flash('success_msg');
res.locals.error_msg = req.flash('error_msg');
res.locals.error = req.flash('error');
next();
}),
app.use('/', routes);
app.use('/users', users);
// set Port
app.set('port', (proccess.env.PORT || 8081));
app.listen(app.get('port'), function() {
console.log('Server initialized on port ' + app.get('port'));
});
どのラインが458ですか? –
@CharlieFish - 私はたくさんのコードを作っていませんし、indexという名前のローカルファイルもありません... NPMコード –
でなければなりません。 –