Я использую сервер сборки для создания моих проектов Vue, используя команду , красиво поставляемую шаблоном Vue 2. Шаблон Vue также предоставляет возможность доступа к данным, зависящим от среды, которые могут быть настроены в файлах под каталогом config
. Такие вещи, как prod.env.js
и т. Д. Затем вы получаете доступ к этим данным через process.env.API_PREFIX
, как видно из руководства по шаблону.Независимые от среды сборки с использованием шаблона веб-пакета Vue
Я хочу, чтобы иметь возможность построить код один раз, затем развернуть ту же сборку (как определено выходом в Dist
) на несколько серверов, но разные серверы используют другую конфигурацию (разные API_PREFIX
и т. Д.). В настоящее время ссылки process.env
расширяются во время сборки компилятором Webpack. Поэтому я должен перестраиваться для каждой среды.
Я могу придумать несколько способов сделать это - очевидно, что загрузка конфигурации должна произойти во время выполнения, и, учитывая, что она запускается в браузере и должна ссылаться на какой-то файл, она должна быть выполнена запрос AJAX для некоторой статической конфигурации JSON, обслуживаемой веб-сервером отдельно или аналогичным. Но мне было бы интересно узнать, как кто-то здесь справится с этим требованием.
Есть несколько трюков, но вам нужна дополнительная информация о том, как вы определяете API_PREFIX. Связано ли это с доменом, в котором приложение будет доступно? Можете ли вы привести конкретные примеры? – aristidesfl
Да, префикс API является примером данных конфигурации, характерных для каждой среды. Это будет другой домен для каждой среды развертывания. Например, в сборке для среды развертывания «промежуточная» префикс API может быть «https: // staging-api.mycompany.com». [это не выводится в принципе из названия среды.] – amoe