Вот одно решение, которое вы можете попробовать решить.
- В корне проекта vue создайте файл env:
.env.finalprod.local
Внутри вашегоenv file, вы должны объявить NODE_ENV=production
, чтобы он был встроен в производственный режим.
Если вы хотите указать другие пользовательские переменные среды, убедитесь, что перед ним стоит префикс VUE_APP_
, в противном случае он будетигнорируется при сборке.
Вот как это должно выглядеть:
NODE_ENV=production
VUE_APP_API_ENDPOINT=YOUR_API_ENDPOINT_HERE
Это означает, что вам нужно определить отдельные env-файлы для других сред, таких как .env.development.local
и .env.production.local
если они используют разные конечные точки API.
Измените ваш
src/config/index.js
аналогично кодам ниже
let api = process.env.VUE_APP_API_ENDPOINT;
export default api;
В вашем
package.json
измените свой сценарий следующим образом:
"buildprod": "vue-cli-service --mode finalprod"
Это создаст производственное приложение в промежуточном режиме, который будет использовать .env, .env.finalprod или .env.finalprod.local, если они присутствуют.
Обратите внимание, что если у вас есть этот скрипт "buildprod": "vue-cli-service --mode finalprod"
, вы должны также назвать свой файл .env, используя .finalprod
, например, .env.finalprod.local
в противном случае клиент не сможет найти его и не будет создавать приложение в рабочем режиме.