@andrewayder

Чем set VUE_APP_PROCEDURE=build отличается от определения в .env?

Здравствуйте, я могу в .env файле объявить VUE_APP_PROCEDURE=build
а потом к примеру из vue.config.js
console.log(process.env.VUE_APP_PROCEDURE); //build
console.log(process.env.VUE_APP_PROCEDURE == "build");  //true
console.log(process.env.VUE_APP_PROCEDURE); //build

Но стоит мне вместо .env файла создать
//package.json
 "scripts": {
    "serve": "set VUE_APP_PROCEDURE=serve & vue-cli-service serve",
    "build": "set VUE_APP_PROCEDURE=build & vue-cli-service build",
}

как теперь я получу
console.log(process.env.VUE_APP_PROCEDURE); //build
console.log(process.env.VUE_APP_PROCEDURE == "build");  //fasle
console.log(process.env.VUE_APP_PROCEDURE); //build

Что идет не так...
  • Вопрос задан
  • 46 просмотров
Решения вопроса 2
@resibe
19-летний пушистик
Как вариант, проблема может быть в самом объявлении переменной,
внутри
"set VUE_APP_PROCEDURE=build & vue-cli-service build"
обычный cmd (shell) скрипт, set реализация переменных в cmd,
так как в cmd нет разделителей на конец строки, то-есть ";" вероятно скрипт после присваивания может читать пробел в set VUE_APP_PROCEDURE=build & до & (который разделяет команды для возможности использования inline) и у вас получается не build а build с пробелом
Попробуйте так
"build": "set VUE_APP_PROCEDURE=build& vue-cli-service build",
Ответ написан
Комментировать
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Есть пакет для этого, cross-env называется
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы