Давайте посмотрим, как передавать параметры при импорте модулей ES. Пусть для примера у нас есть вот такой модуль:
export function func1() {
}
export function func2() {
}
Давайте импортируем его:
import test from './test.js';
Пусть мы хотим передать какие-то данные вовнутрь модуля при его подключении:
let data = 'abcde'; // эти данные хотим передать
import test from './test.js';
Обернем код нашего модуля в функцию:
export default function(data) {
function func1() {
}
function func2() {
}
return {func1, func2};
}
Передадим данные параметром при вызове импортированной функции:
let data = 'abcde';
import func from './test.js';
let test = func(data);
Можем теперь вызвать функции нашего модуля:
test.func1();
test.func2();
К сожалению, упростить код, избавившись от
переменной func
, подобно тому, как
мы это делали для модулей CommonJS, не получится.