Невозможно загрузить переменную среды в vite.config.js.Javascript

Форум по Javascript
Ответить
Anonymous
 Невозможно загрузить переменную среды в vite.config.js.

Сообщение Anonymous »

Я работаю над проектом Vite, где мне нужно загрузить переменную среды (APP_PORT) из файла .env в моем vite.config.js. Однако похоже, что переменная загружается неправильно, и вместо нее используется мое резервное значение (5000).

Структура проекта:.

Код: Выделить всё

project/
├── .env
├── frontend/
│   ├── vite.config.js
│   └── ...
Файл .env находится в корневом каталоге проекта.
Файл vite.config.js находится внутри папки внешнего интерфейса.

.env-файл

Код: Выделить всё

APP_PORT=5001
Файл vite.config.js

Код: Выделить всё

import { defineConfig, loadEnv } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';
import { fileURLToPath } from 'url';

const __dirname = path.dirname(fileURLToPath(import.meta.url));

export default ({ mode }) => {
// Load environment variables for the current mode
const env = loadEnv(mode, path.resolve(__dirname, '../', ''));
const port = env.APP_PORT;
console.log(
'Loaded environment variables for mode:', env,
'Path:', __dirname,
'Port:', port);

return defineConfig({
root: 'frontend',
plugins: [react()],
optimizeDeps: {
exclude: ['lucide-react'],
},
server: {
proxy: {
'/api': {
target: `http://127.0.0.1:${port || '5000'}`, // Use the loaded env variable
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace(/^\/api/, ''),
configure: (proxy) => {
proxy.on('proxyReq', (proxyReq, req) => {
console.log('Proxying request:', req.url, 'to:', proxyReq.getHeader('host'));
});
}
}
}
}
})
};
Хотя я указал APP_PORT в файле .env, он всегда возвращается к значению по умолчанию (5000). В файле console.log в vite.config.js указано неопределенное значение для APP_PORT.

Что я пробовал:

1. Убедитесь, что файл .env находится в корневом каталоге и содержит правильную переменную (APP_PORT=5001).

2. Перезапустил сервер разработки Vite после внесения изменений в файл .env.

3. Убедился, что path.resolve(__dirname, '../') указывает на правильный каталог для файла .env.

4. Добавлен журнал отладки для проверки загруженных переменных среды, но я получаю неопределенное значение.

Ожидаемое поведение:
Переменная APP_PORT из файла .env должна быть загружена, и прокси-сервер в vite.config.js должен использовать порт 5001.

Среда:.
Узел: v23.4.0
VITE: v6.0.3
ОС: macOS

Подробнее здесь: https://stackoverflow.com/questions/793 ... -config-js
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»