Я хотел бы найти как можно более чистое решение для импорта нескольких компонентов из одного модуля под самим именем модуля (или любым другим указанным) в ECMAScript 2015. Было бы оптимально иметь его в качестве однострочника.
При импорте всего модуля он уже работает как шарм:
import * as Immutable from "immutable"
Мое приложение будет на стороне браузера (связывается через веб-пакет), что побуждает меня быть более избирательным при импорте.
Я пробовал разные, интуитивно понятные подходы, которые возникли из других языков, или использование Javascript, который не работал (поскольку импорт не соответствует типичным правилам js):
import { fromJS } as Immutable from "immutable"
или
let Immutable = {}
import { fromJS as Immutable.fromJS } from "immutable"
Подробное и трудоемкое решение проблемы - это разделение импорта и его использование в двух файлах:
In index_imports.js :
import { fromJS } from "immutable"
const Immutable =
{
fromJS,
}
export
{
Immutable,
}
Что сокращает оператор импорта в index.js до одной строки:
import { Immutable } from "./index_imports.js"