Dynami c Импорт в javascript: использование переменной вызывает - Критическая зависимость: запрос зависимости является выражением - PullRequest
0 голосов
/ 08 апреля 2020

Вкратце: при динамическом импорте компонента, подобного этому:

var path = '/views/frontend/Study.vue'
const Component = await import(path)

я получаю следующую ошибку:

Критическая зависимость: запрос зависимость - это выражение

, но если параметр строковый, const Component = await import('/views/frontend/Study.vue') работает нормально

версия веб-пакета: 3.8.1

в .babelr c Я использую плагин syntax-dynamic-import.

БОЛЬШЕ ДЕТАЛЕЙ: вот еще код, если вы хотите увидеть всю картинку ...

In Vue router

createView =  (path)=> ()=> import('../components/prefetcher').then(m=>m.default(path))

{ path: '/study',
  name: 'study',
  component: createView('path/to/my/component')
 }

prefetcher. js (что импортирует вышеупомянутый createView вызов функции)

export default async function createView (path) {
  const Component = await import(path) // <<<< works fine when using '/path/to/my/component'
   asyncData ({ store }) {
     store.dispatch("SOME_ACTION")
   },
    render (h) {
      return h(Component.default, { props: { type:extraData.type }})
    }
}
...