'Я говорю, что то, что работает в браузере, НЕ является тем же кодом, что и на сервере'.
Но это может быть, на самом деле. Точно такой же код.
"Чтобы заставить код, ориентированный на сервер, который часто написан в новейшей версии ECMAscript, запускать его в браузере, вам нужны транспиляторы и упаковщики".
Это не обязательно. Это зависит от того, кто строит модуль. Приведу пример из собственного опыта. У меня есть несколько модулей, которые созданы для работы с обеих сторон, и я имею в виду, что вы можете использовать require , импортировать или просто вызывать модуль из файла с помощью ‹script› tag без необходимости использования какого-либо транспайлера или упаковщика. Без необходимости делать что-либо, чтобы он работал. Просто требуйте или вызывайте его через файл в браузере.
Последний, который я создал, был написан с использованием ES6, и как только я закончил его, я переписал его, чтобы заменить функции ES6 «старыми», которые имеют более широкую поддержку в наших текущих браузерах. Я сделал это только для удобства использования для обеих сторон. Чтобы избежать необходимости в транспиляторе для тех, кто просто хочет использовать его как файл, используя тег ‹script›. Я могу дать вам ссылку на эти примеры, если вам интересно.
Вот почему я сказал, что это зависит от разработчика. Люди предпочитают писать вещи с зависимостью от транспилятора, когда это можно сделать по-другому.
Возможно, проблема, которую люди видят сегодня, связана с тем, что вы сказали о людях, пишущих Front End, используя import/require, следовательно, создавая прямую зависимость от транспилятора.
Что касается вашего последнего абзаца, я не могу согласиться, потому что вы говорите:
«Говорить, что это не javascript, это беспорядок, а фронтенд-разработка, это неискренне»
Это могло бы быть заявлением о JavaScript, но тогда вы пишете следующее:
"В браузерах бардак только потому, что экосистема больше не предназначена для работы в браузере"
Что не является заявлением о JavaScript. Экосистема — это то, что мы (разработчики) создаем вокруг JS.