Как правильно импортировать в 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 шт):
Прошу Коллег исправить меня, если я не прав, но я понял так.
Не надо ничего импортировать.
Чтобы файл .env
был прочитан и распознан, надо при запуске указать его в
scripts
в package.json
"scripts": {
"start": "nodemon --env-file .env server.js "
}
Надо отметить тот факт, что если кто-то захочет использовать данный вариант, для webpack
,
"scripts": {
"dev": "webpack --env-file .env"
}
то это работать не будет...