Comments 17
Это жесть. Тот человек которому доведется управлять этим в реальной жизни и реальном большом проекте, присядет на антидепрессанты через пару недель.
Вобщем то это один из самых простых конфигов webpack. Да это так, что сейчас без компоновщиков на JavaScript разработка не ведется. Хуже когда компоновка не только сложная но еще и нигде и никем не документированная. И когда компоновку нужно развивать то неясно что делать. Разработка универсального приложения — это тоже сложно. Например Airbnb где работет главный идеолог универсаьных приложений затратил на это 4 года см. habrahabr.ru/post/346960
То-то у них сайт работает через одно место!
Ну спорный вопрос. Они по сведениям англоязычной Вики занимают 23 место среди топовых интернет компаний. en.wikipedia.org/wiki/List_of_largest_Internet_companies.
Сайт высоконагруженный и просто сложный. Это же бизнес, деньги. Не лендинг же.
А самое главное достигнута цель. Я например беру произвольную фразу с объявления на сайте
И google мне находит то самое объявление откуда я взял эту фразу. А чистые SPA приложения могут месяцами не попадать в индексы поисковиков.
Сайт высоконагруженный и просто сложный. Это же бизнес, деньги. Не лендинг же.
А самое главное достигнута цель. Я например беру произвольную фразу с объявления на сайте
Осталось всего несколько мест. Присоединяйтесь к еще 8 гостям на мероприятии хозяина Pimlada в назначенный день (пятница)
И google мне находит то самое объявление откуда я взял эту фразу. А чистые SPA приложения могут месяцами не попадать в индексы поисковиков.
Это прекрасно! Вы даже не представляете как во-время появились ваши статьи! Жду продолжения!
Спасибо за статьи, скажите, какие преимущества дает сборка серверного когда с помощью вебпака? Кроме возможности хот-релоада.
Зачем его вообще собирать, когда достаточно просто прогнать через бабел если надо.
Зачем его вообще собирать, когда достаточно просто прогнать через бабел если надо.
Не думаю что есть болшая разница собран или не собран серверный код фронтенда в единый файл с точки зрения произвоительности или других причин. В данном случае я как раз пытаюсь не пропускать через babel все кроме фронтенда (папки react и redux). Поэтому все файлы бэкэнда остаеются на своих местах и относительные пути не ломаются. Если фронтенд пропустить через babel в каталог например build то все относительные пути будут недоступны и тогда уже нужно все будет пропустить через babel. Что мне не хотелось бы т.к. последние версии Node.js большинство фич ES2017 реализуюют нативно и это на порядок более произвоительно.
Но тут конечно все обсуждаемо. Можно просто копировать в другую папку. не знаю. Если у Вас есть доводы что модно сделать более обоснованно то посоветуйте как это сделать.
Но тут конечно все обсуждаемо. Можно просто копировать в другую папку. не знаю. Если у Вас есть доводы что модно сделать более обоснованно то посоветуйте как это сделать.
В папках react и redux находятся компоненты единые для сервера и для кдиента поэтому там используются модули es6 и синтаксис jsx выглядит примерно так function render(){return <Component/>}. Что касается идеи прогонять все абсолютно через babel, то в какой-то мере она мне нравится т.к. можно использовать модули es6 и аннотации. Но есть и другая сторона. Последние версии нода и реализуют уже даже и модули, которые несовместимы с модулями babel. И тут надо выбирать или вечно все пропускать через препроцессор или же переходить на нативные модули.
Но главное даже не это. Нативные фичи стали производительные. Например от версии нода await в конструкции try/catch прибавил скорости раз в 10. Не будет ли генерировать babel код который снизит производительность?
Так в бабеле можно использовать пресет, который будет транспилировать только те фичи, которые нативно не поддерживаются.
расскажите какой, дайте ссылку на описание. Я пронимаю что такое что-то должно быть. Но хотелось бы конкретики. Я например нашел github.com/christophehurpeau/babel-preset-latest-node. Там один контрибьютор 3 звезды как то не сильно похоже на то на что можно рассчитывать в проекте.
Для 6й ноды я использую babel-preset-es2015-node6
Посмотрел код. В версии 8 нод существенно прибавил в скорости (по некоторым фичам на порядок как я уже говорил try/catch/await. У авторов плагина очень хорошая идея это использовать проверку есть ли функция в окружении. Но это скорее всего не будти влиять на конструкции с async/await и они будут преобразованы.
Sign up to leave a comment.
Универсальные приложения React + Express (продолжение)