Можно ли импортировать компоненты vue / nuxt / webpack публично?(не глобальный) - PullRequest
0 голосов
/ 04 июля 2019

Я хочу упростить мой код, аналогично тому, как компоненты могут быть зарегистрированы глобально в vue (nuxt)

Но я не хочу, чтобы они были доступны для ВСЕХ страниц (глобально). Вместо этого я хочу импортировать несколько компонентов в некоторый файл, а затем добавить этот файл туда, где он мне нужен (импорт public).

---

Я пытался сохранить его в переменном или функциональном объекте (vanilla js), проверить vue docs, публичный импорт. Не могу точно определить, где искать. Я думаю это потому, что webpack должен знать точное местоположение во время компиляции, но не уверен. Чего мы хотим избежать (из vue docs):

import BaseButton from './BaseButton.vue'
// bunch of components

export default {
  components: {
    BaseButton,
    // bunch of components
  }
}

---

Желаемый результат (моё предположение, что это возможно):

<template>
  <div>
    <ComponentA />
    // ... 
<script>
  import BaseComponentsA from '~/path/to/A'
  export default {
    components: {
      BaseComponentsA // contains Component A
    }
  }
</script>

---

То, что я не хочу, это импортировать их глобально и иметь компонент A доступным для ВСЕХ страниц с

const requireComponent = require.context (...

, сделав это в main.js (или nuxt.config.js).


Ошибки: Поскольку я не уверен, где искать и что делать, я обычно получаю синтаксическую ошибку ..

Поскольку все поиски в конечном итоге указывают на глобальную регистрацию, я не могу найти выход из этого леса. Время нуб: /

Спасибо!

...