Промежуточная сборка Vue создает сборку разработки вместо рабочей

#javascript #vue.js

#javascript #vue.js

Вопрос:

Vue documentation:

промежуточная сборка vue-cli-service создает производственное приложение в промежуточном режиме с использованием .env, .env.staging и .env.staging .локальные, если они присутствуют.

package.json

 "buildStaging": "vue-cli-service build --mode staging",
  

.env.staging

 VUE_APP_LOG_PRODUCTION_TIP=true
  

Затем

 >npm run buildStaging
> between-us-drivers@0.1.0 buildStaging C:devmezinamiridicispa
> vue-cli-service build --mode staging
/  Building for staging...
  

И в результате получается:

 171 650 admin-chunk.js
112 650 admin-chunk.js.map
6 156 774 app.js
6 008 903 app.js.map
1 517 776 content-chunk.js
1 434 561 content-chunk.js.map
477 276 user-chunk.js
425 751 user-chunk.js.map
  

Почему существует сборка разработки вместо производственной сборки?

Ответ №1:

Если вы хотите, чтобы ваша промежуточная сборка создавала производственную сборку, вам нужно указать ее через NODE_ENV in .env.staging :

 NODE_ENV=production
VUE_APP_LOG_PRODUCTION_TIP=true
  

На это намекается, но не выделено в примере документации для промежуточной сборки:

Приложение создается как производственное приложение из-за NODE_ENV , но в промежуточной версии process.env.VUE_APP_TITLE перезаписывается другим значением

Основное поведение описано немного ранее в документации:

При запуске vue-cli-service […] NODE_ENV будет установлено значение "production" в рабочем режиме, "test" в тестовом режиме, а по умолчанию — в "development" противном случае.

Комментарии:

1. Ну, эта часть документации, по-моему, довольно загадочная. Спасибо.

2. @LeosLiterak Я согласен, это описано в начале документа, но также может быть выделено в этом разделе. Я также обновил ответ с помощью общего случая.