В корне моей зависимости модуля у меня есть файл с именем form.js:
module.exports = require("./dist/bundle.js").form;
В моем проекте есть:
import { someComponent } from 'my-dependency/form';
И все же someComponent будет undefined.
Если я сделаю это:
import form from 'my-dependency/form';
console.info(form.someComponent);
Он выведет в консоль что-то вроде этого:
ƒ Rr(e){var t=e.component,n=void 0===t?"input":t,r=e.rend[....]
Тем не менее, если я сделаю это, это сработает:
import form from 'my-dependency/form';
const { someComponent } = form;
Что я здесь делаю не так и как мне добиться того, чего я хочу?
Внутри моего файла src/form.js у меня есть:
import someComponent from "./someComponent";
export default {
someComponent
};
Внутри src/index.js у меня есть:
import * as form from "./form";
export default {
form
};
Возможная первопричина, но не знаете, как исправить? ...
Похоже, проблема вызвана экспортом с использованием CommonJS и импортом с использованием синтаксиса ES6.
Вот кто-то с похожей проблемой, но от 4 лет назад: https://github.com/google/traceur-compiler/issues/1483
и 2 года назад: https://github.com/Microsoft/TypeScript/issues/11179
Я пробовал явно установить такой код, но это, похоже, не достигло того, чего я хочу (создает модуль со свойством по умолчанию):
Object.defineProperty(module.exports, "__esModule", {
value: true
});
Похоже, читающие онлайн люди сделают import * as whatever from '..', но не должно ли работать и деструктуризация? ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Либо двумя способами:
export const someComponent
Потом:
import { someComponent } from 'my-dependency/form'
Или:
export default {
someComponent
}
Потом:
import someComponent from 'my-dependency/form'
Экспорт по умолчанию не импортируется в квадратных скобках. Попробуйте перейти на
export { someComponent }, или простоimport someComponent from './....'