Sergey
https://blog.neufund.org/why-we-have-banned-default-exports-and-you-should-do-the-same-d51fdc2cf2ad @spatNeHochu @nick_dev
1000
Привет Кто-то знает об особенности оптимизации сайта/spa в мозилле? SPA на хроме прогружается на 7+ секунд быстрее, в сравнении с мозиллой.
Karina
ребята, кто знает. Отправляю запрос XMLHttpRequestом и в зависимости от статуса делаю редирект с помощью window.location, вот так примерно: xhr.onreadystatechange = function () { if (xhr.readyState === 4) { switch (xhr.status) { case 201: window.location = '...'; } } } вопрос - как дождаться когда редирект отработает?
Таймураз
По мне так правильная статья
Ilya
все грузится заново - посему никак.
Ilya
балин. спасибо 😉
расскажи пару слов о том что ты хочешь сделать, возможно ты просто не в том направлении развиваешь мысль.
Karina
расскажи пару слов о том что ты хочешь сделать, возможно ты просто не в том направлении развиваешь мысль.
просто собираю данные и отправляю (с помощью XMLHttpRequest) на сервер, если всё ок, то я делаю редирект - window.location - это страница успеха. но там надо дозаполнить данные, которые у меня есть только на момент до XMLHttpRequest'a
Anton
внутри своей компании code style guide-ом
Anton
насколько я понял
Ilya
ок, спасибо. я знаю что это
Если backend с которым ты работаешь - доступен для модификаций, то возможно с точки зрения архитектуры, будет лучше чтобы они вместе со страницей успеха выдавали данные необходимые.
Ilya
ну тут надо конечно рассматривать полностью стек с которым ты работаешь чтобы определиться с наилучшим вариантом
Андрей
Вам надо теорию подтянуть.
Anonymous
все же не пойму, мы о том как язык работает или о том как уйти от одинаковых имен в проекте это разные вещ
Sergey
Ilya
я бы даже больше сказал: импорты это вообще не о том как язык работает :)
Anonymous
import { Foo } from './foo' это не глобально (только в пределах одного файла)
да блять я не про глобальные переменные еб вам всех лолщики
Anton
кто-то защищает дефолтные экспорты/импорты? или тут только о терминологии спорят?
Anonymous
Спокойнее.
я же уже сказал два одинаковых локальных имени класа
Sergey
я же уже сказал два одинаковых локальных имени класа
вот дефолтные экспорты как раз и порождают разные имена одно при импорте другое внутри модуля экспорта и при этом связи прямой между модулями нет, кроме строки описывающий путь к модулю а это может быть как ../foo, так и ./
Андрей
я же уже сказал два одинаковых локальных имени класа
Дык без проблем. Спокойно объясните свою точку зрения.
Ilya
завязываем, Вячеславу надо RTFM про модули. разговор не завязывается, он не понимает концепт и неймспейсинг в модулях, понятия изоляции их scope, и почему деструкция из импорта наилучший способ, нежели присвоение
Sergey
ну дак имеено это их свойство и полезно в больших проектах
это не полезно это ВРЕДНО ибо это порождает разночтение одного и того же одна и та же сущность проявляется под разными именами
Sergey
поверь у тебя будет такая ситуация в проекте
и была уже много раз. И я уже давно отказался от дефолтных экспортов задолго до статьи
Anton
поверь у тебя будет такая ситуация в проекте
когда два модуля экспортируют классы с одним и тем же именем?
Андрей
поверь у тебя будет такая ситуация в проекте
Вполне возможно. И зачем для этого дефолтные экспорты?
Anonymous
поверь у тебя будет такая ситуация в проекте
то есть даже будет смесь дефолтов и именнованых и куча одинаковых имен локальных.
Sergey
когда два модуля экспортируют классы с одним и тем же именем?
у меня была ситуация когда модель и маппер имели одинаковые имена но в дальшнейшем я решил проблему суффиксами
Андрей
то есть даже будет смесь дефолтов и именнованых и куча одинаковых имен локальных.
Эм... Ты знаешь, что именованные тоже переименовывать можно?
Anton
во, Foo as Bar это хорошо
Sergey
блин, тут че никто не знает ESModules кроме пары людей?
Sergey
НАРОД! Идите читать полное описание ES Modules
Sergey
не несите бредятину
Anton
да вы тут спорите сами не знаете о чём, никто сформилировать не в состоянии :) внёс немного ясности
Андрей
не несите бредятину
Стул нагревается?
Sergey
default exports завезли, чтобы люди могли импортить картиночки и чистые файлы import image from './image.jpg'. с помощью сторонних тулзов ну и commonjs/amd модули
Anonymous
не несите бредятину
тут дело не спеках вообще, а в опыте работы с зависимостями
Sergey
ясно
Sergey
закрываем тему
Sergey
нет и еще раз нет, это было куда раньше
что раньше? ты вообще о чем?
Anonymous
закрываем тему
ты тут царь батька?
Андрей
ты тут царь батька?
Не нужно переходить на личности.
Sergey
почитай спеку ES Modules там НЕТ module.exports
Anonymous
что раньше? ты вообще о чем?
где твои аргументы вообще, а то бля закрываем тему, идите спеки читайте...
Sergey
import { Foo } from 'foo' ?
Sergey
А статью не удосужился прочитать?
Sergey
Тебе 3 человека аргументы писали причем почти все повторяли то, что было в статье (потому что это очевидная проблема default export)
Sergey
ну не просто так же
Anonymous
А ты выше мои аргументы не читал?
я же сказал статья чушь полная все прекрасно работает в ide, а рефакторинг не должен менять оба имени по спеки это очевиднт
Ilya
Это опционально, но сколько я видел проектов - везде от дефолтных экспортов отказались или отказываются.
Sergey
я не хочу иметь класс Foo в разных файлах как Bar, F, Doit, Margo и прочее
Sergey
я хочу смотреть на код и очевидно видеть имена всех классов
Sergey
++++
Sergey
к сожалению это и есть спека
спека всего лишь описывает язык, а не обязывает писать так
Sergei
не, просто в ТС работает только явный дефолтный экспорт, а ES6 вроде как умеет делать синтетический импорт (который на самом деле import * as default) (поправьте, если соврал)
Sergey
как писать это выбор команды и каждого разработчика в этой статье как раз и описывают как писать наиболее прозрачно и понятно для всех