今作っているシステムで、プラグインのような形でMVCを一つのパッケージとして配布できるようにしているのですが、そのためにはビューのディレクトリをコントローラ側で動的に変更する必要がありました。
ということでやり方。
var express = require('express');
var router = express.Router();
router.all('*', (req, res, next) => {
req.app.set('views', __dirname + '/views/');
});
requestの中にappが入っているんですね。後はそれを動的にsetで変更してあげればOK。