Простой экспорт заканчивается объявлением функции / переменной / класса, таким как
export default hello
Представьте, что hello
- это функция в модуле hello
. В чем разница между вызовом export default hello()
в экспортируемом модуле и вызовом hello()
в импортирующем модуле import hello from "./hello"
?
Похоже, что нет никакой разницы, кроме того факта, что второй вариант требует инициализации (вызова) функции внутри модуля, который импортирует hello
.
// hello.js
function hello () {
console.log("hello")
}
// 1st option function declaration
export default hello
// 2nd option - run function on export
export default hello()
// index.js
import hello from "./hello";
// 1st option initialise (calling)
hello();
// 2nd option - no calling needed
Поиск в Интернете, но не удается найти возможные побочные эффекты или какой из них является лучшим способом обработки модуля, который содержит и экспортирует функцию.