Nodemailer + Handlebars + NextJS - правильный путь - PullRequest
0 голосов
/ 06 ноября 2019

У меня проблемы с поиском правильных настроек пути в production для моей настройки nodemailer / handlebars. Транспортер подключен к запросу API для отправки автоматического электронного письма.

В development Я оставляю конфигурацию как есть, поэтому в основном у меня такая ситуация:

module.exports.ViewOption = (transport, hbs) => {
  transport.use('compile', hbs({
    viewEngine: {
      extname: '.hbs',
      partialsDir: 'static/js/mail/views/email',
      layoutsDir: 'static/js/mail/views',
      defaultLayout: 'contacts'
    },
    viewPath: 'static/js/mail/views',
    extName: '.hbs'
  }));
}

Здесь нет проблем, все работает нормально.

Вкл. Now Вместо этого я получаю это исключение:

Screenshot 2019-11-06 at 10.47.57.png

Запрос возвращает ответ ok каквы можете увидеть здесь:

Screenshot 2019-11-06 at 10.48.10.png

Итак, я пришел к выводу, что проблема связана с неверным путем, заданным в конфигурации транспортера. Я не могу жить так, как на dev, потому что он перенаправляет на /var/tasks. Проблема в том, что я пробовал разные способы правильно найти путь к файлу, но безуспешно:

  • Использование __dirname +'<path>'
  • Размещение его в простом виде, например /<path>...
  • Установка одного внутри _next Производственный каталог: /_next/static/....

Это моя текущая файловая система:

Screenshot 2019-11-06 at 10.48.39.png

Screenshot 2019-11-06 at 10.49.25.png

Как вы можете видеть, у меня есть файл конфигурации внутри на /static/js/mail/config, чем /_next/static/js/mail/config. Ни один из них не работал, вызов отвечает каждый раз с одной и той же ошибкой, независимо от его пути.

Это мой текущий now.json, если это может быть полезно:

{
  "public": false,
  "name": "LC",
  "version": 2,
  "routes": [{
    "src": "/resume",
    "dest": "https://lucacattide.dev/static/html/resume.html"
  }, {
    "src": "/robots.txt",
    "dest": "https://lucacattide.dev/static/robots.txt"
  }, {
    "src": "/sitemap.xml",
    "dest": "https://lucacattide.dev/static/sitemap.xml"
  }, {
    "src": "^/service-worker.js$",
    "dest": "/_next/static/service-worker.js",
    "headers": {
      "cache-control": "public, max-age=43200, immutable",
      "Service-Worker-Allowed": "/"
    }
  }],
  "env": {
    "RECAPTCHA_SECRET_KEY": "@recaptcha",
    "SMTP_SERVICE_HOST": "@smtp_host",
    "SMTP_SERVICE_PORT": "@smtp_port",
    "SMTP_SERVICE_SECURE": "@smtp_secure",
    "SMTP_USER_NAME": "@smtp_name",
    "SMTP_USER_PASSWORD": "@smtp_password",
    "SMTP_LOG_NAME": "@smtp_log"
  },
  "github": {
    "enabled": true,
    "autoAlias": false
  }
}

Кто-либо испыталэто раньше или может мне чем-то помочь?

Заранее спасибо

...