Передача конфиденциальной информации на сервер req object Node.js - PullRequest
1 голос
/ 23 февраля 2020

Я бывший PHP Laravel разработчик и сейчас пытаюсь изучить другие варианты, в настоящее время использую Node.js, Sequelize, Koa и Next.js для создания небольшого приложения.

Когда инициализируется sequelize, папка models создается автоматически и имеет следующий код:

...
fs
  .readdirSync(__dirname)
  .filter(file => {
    console.log('Filer file: ', file)
    return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
  })
...

, который отлично работает при импорте в основной файл server.js .

Я пытаюсь выяснить, как лучше всего включить это в любой из других файлов, в моем случае мне нужно иметь доступ к нему через недавно выпущенные маршруты API из Next. js /api/{endpoint} (https://nextjs.org/docs/api-routes/introduction).

Если я импортирую туда файл, __dirname (из основного файла моделей сиквелизов) - это каталог root моей машины, который заставляет меня думаю, что если этот код автоматически генерируется кодом с помощью их инструмента CLI, я, вероятно, что-то делаю не так.

Один из способов найти эту работу - это передать объект db через объект req в server.js файл.

  router.get('/api/*', async (ctx) => {
    /**
     * There has to be a better way
     */
    ctx.req.db = db
    await handle(ctx.req, ctx.res);
    ctx.respond = false;
    ctx.res.statusCode = 200;
  });

Есть ли лучше способ справиться со всем этим?

...