Связанный файл, похоже, не является точной точкой входа для package.json - PullRequest
0 голосов
/ 15 мая 2019

Существует библиотека common-components React, написанная на ES6, которая будет использоваться другими модулями.Точка входа в библиотеку указывает на переданный минимизированный пакетный файл, созданный веб-пакетом.Я получаю следующую ошибку при попытке импортировать эту библиотеку из другого модуля:

Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Версии:

node: v9.0.0
npm: 5.5.1

"babel-loader": "~8.0.5"
"@babel/cli": "~7.2.3"
"@babel/core": "~7.4.3"
"webpack": "~4.16.5"
"webpack-cli": "~3.1.0"
"webpack-merge": "~4.1.4

У меня есть следующая index.js, которая находится в корневом каталогеМоя common-components библиотека:

export { Dropdown, Icon, LoadingSpinner, Toggle } from './Components/index.js';
export { Localizer, LocalizedString } from './Utilities/index.js';

webpack.config.js использует index.js в качестве основной точки входа в библиотеку и выводит ее в файл reactDist/js/main.js.

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

reactDist/
   js/
   css/
   img/
   map/

Каталог js содержит vendor.js, vendors.js и runtime.js.

Поле package.json main указывает на reactDist/js/main.js

Вот как компоненты в настоящее время импортируются из библиотеки common-components: import { LoadingSpinner } from 'common-components';

Я ожидал бы, что компонент, указанный выше, будет успешно импортирован, но, похоже, это не было видно из трассировки стека, которая была упомянута ранее.

...