Size: a a a

2021 April 04

ei

export default - зло... in JS
Конечно любой гений скажет что можно просто так не писать, но такое применимо только к проекту с 1 человеком (тудушке)
источник

ei

export default - зло... in JS
Впрочем в канале все было написано понятным языком, а я пересказал просто
источник

A

Alex in JS
export default - зло is the side effect
Допустим есть гений, который в структуре

reducers/
 one/
   reducer.js
   actions.js
   index.js
 two/
   reducer.js
   actions.js
   index.js
 index.js

Решил редьюсеры экспортировать по дефолту
И вот он хочет реэкспорты сделать из reducers/
И вдруг выясняется, что с дефолтиками-то никак)
Надо написать export { default as ... } и потерять невероятный сакральный смысл!
Ничего не мешает импортировать сущности и экспортировать их по дефолту в виде объекта или функции-геттера, например. Точно так же, как с именованным экспортом. Консистентность сохраняется, удобства и наглядности не меньше. Зачем создавать отдельный модуль лишь для реэкспорта сущностей из других модулей?
источник

A

Alex in JS
export default - зло is the side effect
Впрочем в канале все было написано понятным языком, а я пересказал просто
На том же канале перечислены исключения, которым я вторю.
источник

ei

export default - зло... in JS
Alex
Ничего не мешает импортировать сущности и экспортировать их по дефолту в виде объекта или функции-геттера, например. Точно так же, как с именованным экспортом. Консистентность сохраняется, удобства и наглядности не меньше. Зачем создавать отдельный модуль лишь для реэкспорта сущностей из других модулей?
По дефолту в виде обьекта? Ты о том, о чем я подумал?
источник

ei

export default - зло... in JS
export default {
 one,
 two
}

Вот это?)))
источник

ei

export default - зло... in JS
Alex
На том же канале перечислены исключения, которым я вторю.
Исключения на то и исключения, что не везде нужно так писать
источник

A

Alex in JS
export default - зло is the side effect
export default {
 one,
 two
}

Вот это?)))
Как вариант. Я говорю о том, чтобы использовать дополнительный модуль не лишь ради реэкспорта, а для того, чтобы представить реэкспортируемые сущности в пригодном для использования виде для других модулей или исполняемых файлов.
источник

ei

export default - зло... in JS
Это надругательство над три-шейкингом
источник

ei

export default - зло... in JS
Такой обьект
источник

A

Alex in JS
export default - зло is the side effect
Исключения на то и исключения, что не везде нужно так писать
Исключения на то и исключения, что их нужно учитывать
источник

ei

export default - зло... in JS
И вообще зачем, ради чего? Есть именованный)
источник

ei

export default - зло... in JS
Который ВСЕ это позволяет в нормальном виде без плясок различного рода
источник

ei

export default - зло... in JS
Зачем упираться и использовать эту хрень? Для кода конкретно, не для конфигов и библиотек
источник

A

Alex in JS
Это удобно
источник

ei

export default - зло... in JS
Сейчас даже библиотеки многие не экспортируют ничего по дефолту, я тоже такое поддерживаю
источник

ei

export default - зло... in JS
Нет, не удобно)
источник

A

Alex in JS
Вот и поговорили
источник

ei

export default - зло... in JS
const Component = () => {}
export default Component

export const Component = () => {}

Что удобнее?
источник

ei

export default - зло... in JS
Или я тут тоже что-то упускаю, может явность какую-то, как мне один чувак говорил
источник