Реагируйте, как импортировать компоненты из индекса папки. js - PullRequest
0 голосов
/ 01 мая 2020

У меня есть небольшая библиотека компонентов, которую я пытаюсь создать. Поэтому имело смысл поместить их в папку и импортировать только те, которые мне нужны, или все сразу, если необходимо, используя импорт * из папки.

Это выглядит примерно так.

 /sliceZone
 |--index.js
 |--newsBlock.js

Вот так я экспортирую свой компонент в блок новостей. js:

export default NewsBlock;

Внутри моего index. js в папке sliceZone у меня есть:

export { NewsBlock } from './newsBlock';

и внутри файла, над которым я работаю, я пытаюсь импортировать его следующим образом:

import { NewsBlock } from './sliceZone';

Но я получаю ошибка в моем терминале

warn "export 'NewsBlock' was not found in './sliceZone'

Как экспортировать компоненты из файла index.js?

Ответы [ 4 ]

1 голос
/ 01 мая 2020

В вашем index.js файле вы должны попробовать

export {default as NewsBlock} from './newsBlock';
0 голосов
/ 01 мая 2020

Мне удалось это выяснить.

В индексе. js

import NewsBlock from './newsBlock';
//Anything else to import from the folder.

export { NewsBlock, /*Anything else to export*/ };

затем, когда я импортирую в другой файл, я могу использовать.

import { NewsBlock, /*Anything else*/ } from './sliceZone/';
0 голосов
/ 01 мая 2020

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

export default NewBlock;

Вы можете импортировать его, используя

import NewsBlock from ./newsBlock;
import Anything from ./newsBlock;

Оба приведенных выше утверждения действительны. И при импорте NewsBlock и Anything будет NewsBlock.

Если вы экспортируете объект, как показано ниже

export NewsBlock;

Тогда вы должны деструктурировать его для использования.

import {NewsBlock} from ./newsBlock;

Не уверен, что это то, что вы ищете, но просто почувствовал, что это связанная информация и может решить вашу проблему.

0 голосов
/ 01 мая 2020

внутри newsBlock.js вы можете написать export default NewsBlock ;, и вы можете импортировать это из import { NewsBlock } from './sliceZone'; или import { NewsBlock } from './sliceZone/index';

...