Я пытаюсь настроить SendGrid с моим приложением Vue / Nuxt, однако я могу заставить его работать только путем жесткого кодирования ключа API. Когда я пытаюсь использовать предпочтительный метод переменной среды, я получаю несанкционированную ошибку . Это связано с тем, что приложение не выбирает переменную, а возвращает Undefined .
Как заставить приложение получить переменную?
Мой API-ключ хранится в файле с именем sendgrid.env в корне проекта.
Затем у меня в приложении Nuxt работает приложение Node / Express со следующим кодом:
const express = require('express')
const app = express()
app.get('/', (req, res, next) => {
res.send('API root')
})
app.get('/sendmail', (req, res, next) => {
// using Twilio SendGrid's v3 Node.js Library
// https://github.com/sendgrid/sendgrid-nodejs
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: 'somebody@something.net',
from: 'no-reply@somewhereelse.com',
subject: 'Test SendGrid',
text: 'This is a test of the SendGrid app on Node',
html: '<strong>This is a test of the SendGrid app on Node</strong>',
};
sgMail.send(msg);
res.send('SendMail API');
})
// export the server middleware
module.exports = {
path: '/api',
handler: app
}
Я проверил код, используя Curl, а также жестко запрограммировав ключ API, поэтому ключ верен, это просто переменная среды, которая не берется.
Что я делаю не так?