nodeJSメモ帳

nodeJSのメモ帳です。

466 views

express-generatorでアプリケーションを作成した後、app.jsの6行目と23行目を以下のように変更する。

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var myAuth = require('./middle/auth');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use(myAuth.auth);

app.use('/', indexRouter);
app.use('/users', usersRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

ミドルウェアのソースをこの位置に配置するというルールはないので、middleというディレクトリを作成し、その下にauth.jsを作成する。
auth.jsの中身を以下に記す。

function auth(req, res, next) {
    console.log("呼ばれましたよ");
    next();
}

module.exports.auth = auth;

これで、画面にアクセスすると、毎回呼ばれるようになる。認証エラーでアクセスさせない場合はここではじけばよい。
ただし、認証不要のログインページなども必要なので、うまいことよける仕組みは自作する必要がある。

Page 3 of 13.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626