Я использую модуль dotenv для загрузки переменных среды из файла .env.
.env:
# config
DAILY_REPORT_SCHEDULE='*/1 * * * *'
PORT=8080
NODE_ENV=development
DOTENV_DEBUG=true
# credentials
PROJECT_ID=shadowsocks-218808
KEY_FILE_NAME='/Users/ldu020/workspace/nodejs-gcp/.gcp/shadowsocks-218808-7f8e109f4089.json'
Как видите, я добавляю два комментария в файл .env.
dotenv.js:
require('dotenv').config({ debug: process.env.DOTENV_DEBUG === 'true' });
dotenv дает мне отладочные сообщения:
[dotenv][DEBUG] did not match key and value when parsing line 1: # config
[dotenv][DEBUG] did not match key and value when parsing line 6:
[dotenv][DEBUG] did not match key and value when parsing line 7: # credentials
[dotenv][DEBUG] did not match key and value when parsing line 10:
[dotenv][DEBUG] did not match key and value when parsing line 11:
Я знаю, почему я получил эти отладочные сообщения, потому что я добавил два комментария и новую строку в файл .env. dotenv неправильно анализирует файл .env.
Как я могу это решить?
Не используйте комментарии. Нельзя ли использовать GROUP=config? Или NOTGOINGTOUSETHISKEY = учетные данные?





Это возможно с середины 2019 года.
Начните строку с символа #. См. документы:
lines beginning with # are treated as comments.
Для vlucas/phpdotenv такая же ситуация.
Встроенные комментарии точно не поддерживаются для motdotla/dotenv.
Спасибо. Наконец, комментарий поддержки модуля dotenv
Полезно знать, что dotenv не поддерживает встроенные комментарии.
Проблема в другом разрыве строки.
Пожалуйста, добавьте дополнительную информацию, чтобы расширить свой ответ, например, рабочий код или ссылки на документацию.
Все, что написано в одной строке кода справа от # или ; комментарии.
Из исходный код видно, что нет поддержки комментариев или даже пустых строк.