Миграция с существующего сервера Express на NextJS - PullRequest
0 голосов
/ 19 сентября 2019

Для начала я наивно скопировал промежуточное программное обеспечение, которое выражает использование сервера, в Next в качестве пользовательского сервера, оно несколько работает, за исключением того, что промежуточное программное обеспечение вызывается для каждого входящего запроса, включая запросы для / static и / _next и HMR.

В частности, паспорт и промежуточное программное обеспечение CSRF вызываются неоднократно.Я понял, что могу сделать это, скопировав и изменив с

https://github.com/zeit/next.js/issues/6290#issuecomment-469820079

const TOP_PATHS = new Set(
  fs.readdirSync(path.join(__dirname, '..', 'pages'))
    .map((f) => f.replace(/\.(jsx?|tsx?)$/, '')),
);
// Use csrf only with pages, exclude requets for assets
module.exports = (req, res, goNext) => {
  const topPath = req.path.split('/', 2)[1];
  if (TOP_PATHS.has(topPath)) {
    const token = req.csrfToken();
    res.locals.csrfToken = token;
  }
  goNext();
};

Но действительно ли это единственный путь?Это не кажется мне масштабируемым, к тому же я пока не совсем понимаю, что будет дальше.Безопасно ли исключить / _next в производстве?

...