Как правильно импортировать в Nodejs файл .ENV

Народ, подскажите, как правильно импортировать на сервере nodejs файл .env.

На версиях nodejs старше 20ой встроена поддержка файлов .env без сторонних модулей.

в варианте с require -- require('dotenv').config()

все прекрасно работает!

но вот с модулями при импортировании не могу понять как импортировать

Мой вариант

import dotenv from 'env';
dotenv.config();

выдает ошибку

node server.js

node:internal/modules/esm/resolve:845 throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base), null); ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'env' imported from G:\projects\modules_tamplate\server.js at packageResolve (node:internal/modules/esm/resolve:845:9) at moduleResolve (node:internal/modules/esm/resolve:918:18) at defaultResolve (node:internal/modules/esm/resolve:1148:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:390:12) at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25) at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:234:38) at ModuleWrap. (node:internal/modules/esm/module_job:87:39) at link (node:internal/modules/esm/module_job:86:36) { code: 'ERR_MODULE_NOT_FOUND' }

Node.js v21.7.1

Подскажите как правильно импортировать файл .env?

server.js && .env в корне папки на одном уровне


Ответы (1 шт):

Автор решения: Air

Прошу Коллег исправить меня, если я не прав, но я понял так.

Не надо ничего импортировать.

Чтобы файл .env был прочитан и распознан, надо при запуске указать его в scripts в package.json

"scripts": {
    "start": "nodemon --env-file .env server.js "
  }

Надо отметить тот факт, что если кто-то захочет использовать данный вариант, для webpack,

"scripts": {
    "dev": "webpack --env-file .env"
  }

то это работать не будет...

→ Ссылка