Как добавить комментарии в файл.env?

Я использую 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 файл правильно.

Как я могу решить это?

6 ответов

Это возможно с середины 2019 года с Node's dotenv.

Начните линию с #символ. См. Документы:

строки, начинающиеся с символа #, рассматриваются как комментарии.

Для PHP https://github.com/vlucas/phpdotenv такая же ситуация.

По состоянию на 17 апреля 2022 г. доступны как строки комментариев, так и встроенные комментарии. Просто используйте #.

Беззастенчиво скопировано с https://github.com/motdotla/dotenv#comments:

      # Comment
SECRET_KEY=YOURSECRETKEYGOESHERE # Comment
SECRET_HASH="something-with-a-#-hash"

По состоянию на 13 августа 2022 г., 7:20 UTC (поскольку Node, Angular, javascript и т. д. часто меняются), это статус:

Вы можете использовать#для комментариев.

      # MY_TEMPORARY_VARIABLE = 'Some value'

Но помните, что эта функция все еще находится на примитивной стадии, так как она не будет принимать комментарии в одной строке. Таким образом:

      MY_TEMPORARY_VARIABLE = 'Some value' # This is comment

В этом случае

      let myVar = process.env.MY_TEMPORARY_VARIABLE;

myVarбудет иметь значение:

      'Some value # This is comment'

Пожалуйста!

Проблема в другом переносе строки.

Вы можете добавить комментарий в .env, начав строку с символа решетки (#). Например

      # host value
DB_HOST=host
# username
DB_USER=admin
# secure password
DB_PASS=pass

Все написано в одной строке кода справа от # или; есть комментарии.

Другие вопросы по тегам