Dynami c компонент импорта Vue - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь сделать это:

import Mainlogo from '@/logos/' +process.env.MAIN_SITE+ '.vue'

, чтобы я мог получить в моем приложении lo go на основе среды, но это не работает.

Синтаксическая ошибка: неожиданный токен, ожидаемый; (96:38)

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 05 марта 2020

Из переменных среды Vue документы :

Обратите внимание, что только переменные, начинающиеся с VUE_APP_, будут статически встроены в клиентский пакет

Это означает, что все пользовательские переменные, которые вы хотите использовать в своих .env файлах, должны иметь префикс VUE_APP_, если вы хотите вставить их в приложение Vue. Например:

VUE_APP_SECRET=secret
VUE_APP_TITLE=myapp

Затем вы получаете доступ к ним в своем коде, например:

console.log(process.env.VUE_APP_SECRET)
1 голос
/ 06 марта 2020

Мне удалось решить проблему, выполнив следующие действия:

<component :is="mainLogoLoader" class="logo"></component>

computed: {
  mainLogoLoader () {
    return () => import('@/logos/' +process.env.MAIN_SITE+ '.vue')
  }
},

и в файле module.exports:

MAIN_SITE: '"'+process.env.site+'"'

и моей команде сборки:

#site=mysite npm run build
...