#node.js #reactjs #dotenv
Вопрос:
Привет,я хочу переключить свое приложение в рабочий режим, и я использую код Windows и Visual Studio, я использую expressjs в бэкэнде и создаю-реагирую-приложение в интерфейсе.Ниже приведено дерево данных
Ниже приведен файл package.json и файл, из которого происходит dotenv:
И я хочу перевести его в рабочий режим в бэкэнде,ниже приведено мое бэкэнд-дерево данных:
Я добавляю скрипт в server.js:
И я также хочу переодеться NODE_ENV=development
NODE_ENV=production
в .env
файл in. Наконец я ввел npm start
, как показано ниже:
И я вхожу в localhost:5000,но потерпел неудачу.Кто-нибудь может дать совет?
Комментарии:
1. где dotenv вступает в игру?
2. Вам нужно, чтобы в вашем server.js и загрузите конфигурацию:
require("dotenv").config();
(по умолчанию вызов конфигурации загрузит конфигурацию.env
в корневой каталог; если вы хотите загрузить определенный путь, см. Документацию по методу конфигурации dotenv ). Кроме того, вы должны разделить свои файлы env. Один для разработки и один для производства, аналогично рекомендации CRA .3. @MattCarlotta OP уже импортировал его (показано на 3-м изображении)
4. Я добавляю файл, в котором dotenv вступает в игру. Даже я пытаюсь создать новый
.env.development
файл и установитьNODE_ENV=production
,он все равно не работает.5. Можете ли вы попробовать
const result = dotenv.config();
иconsole.log(result.error)
проверить наличие ошибок?
Ответ №1:
Возможно, вы можете попробовать указать путь к .env
файлу явно (https://github.com/motdotla/dotenv#path).
Что-то вроде .config({ path: path.resolve(__dirname, "../.env") })
Комментарии:
1. Привет @justpen,спасибо. Я меняю dotenv.config() на dotenv.config({ путь: ‘./.env’ }),но все еще не работает.
Ответ №2:
Просто удалите app.get('/', (req, res) => { res.send('API is running') })
после app.use(express.json())