Сборка Webpack и сборка реагирующих скриптов - PullRequest
0 голосов
/ 05 сентября 2018

Скажите, что конфигурация веб-пакета выглядит следующим образом

{
    entry: path.join(__dirname, 'src', 'index.js'),
    output: {
    path: path.join(__dirname, 'build'),
    filename: 'bundle.js'
},

Теперь сборка из webpack равна

enter image description here

и сборка из сборки activ-scripts (static содержит css, js и media в отдельных папках)

enter image description here

Вопрос : Есть ли какое-то конкретное преимущество веб-пакета над сборкой реагирующих скриптов? (включая, но не ограничиваясь производительностью)

ПРИМЕЧАНИЕ : package.json отредактирован для достижения этой цели.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Webpack - пакет общего назначения, с приложениями вне React. До create-react-app в Интернете было полно примеров создания совершенно нового проекта React, в котором в качестве упаковщика используется веб-пакет. Он чрезвычайно гибок и может обрабатывать вещи, в том числе и помимо того, что потребуется приложению React. Это работает для Angular, Vue, NodeJS и даже Web Assembly.

Но раньше на настройку уходило некоторое время. Вам нужно будет понять, как он работает, и настроить его так, чтобы вы могли переносить свой код React + ES6 в plan-vanilla JS. Вам нужно будет выбрать структуру вывода, которая вам нравится, и настроить для нее веб-пакет. А затем также добавьте поддержку горячей перезагрузки модуля и разделения кода. Во время этого вам также понадобится добавить другие плагины, необходимые Webpack для поддержки всего вышеперечисленного:).

Это, естественно, вызвало некоторую усталость у людей, которые начинали с React.

Итак, Facebook создал cra, который внутренне использует веб-пакет, предварительно сконфигурированный так, чтобы включать все приятные инструменты, чтобы позаботиться об этих основах и помочь вам сосредоточиться на части кода React. Он максимально скрывает от вас веб-пакет, в противном случае процесс сборки может прерваться, если пользователь изменил конфигурацию.

Принимая это во внимание, структурные соглашения, которые использует cra, не должны оказывать никакого влияния на производительность по сравнению с простой установкой веб-пакета. Это просто соглашение.

Ваш вопрос должен быть таким: когда я буду использовать create-реагировать-приложение и когда я буду использовать Webpack?

Будучи новичком, вы, возможно, захотите продолжить, сосредоточившись на своем приложении реакции. В конце концов наступит момент, когда то, что вы хотите сделать, не будет поддерживаться конфигурацией веб-пакета, которой крак управляет изнутри. Очень распространенный пример - если вы хотите написать библиотеку компонентов для повторного использования в других приложениях. Это не может быть сделано с помощью cra (это касается всего приложения :)). Затем вы можете переключиться на веб-пакет и начать изучать его.

0 голосов
/ 05 сентября 2018

response-scripts скрывает все конфиги веб-пакета за кулисами. Преимущество этого в том, что оно делает его чище, и, поскольку create-react-app регулярно обновляется, его легко поддерживать в актуальном состоянии с помощью React, Webpack и Babel. Сообщество автоматически исправляет проблемы для вас.

С точки зрения производительности, должно быть одинаковым независимо от реактивных скриптов или веб-пакетов.

Преимущества использования только веб-пакета:

  • Полный контроль над вашей средой

  • Может легко выполнять пользовательские операции, такие как рендеринг на стороне сервера (все еще возможно с create-react-app

  • Знание вебпака как навыка

Недостатки только в вебпаке

  • Полное обновление и обслуживание веб-пакета (некоторые версии веб-пакетов не совместимы с предыдущими версиями и не совместимы в будущем)

  • Может быть пугающим и может быть головной болью, если вы пытаетесь научиться быстро реагировать.

Если вы хотите настроить create-react-app, вот некоторая информация

https://auth0.com/blog/how-to-configure-create-react-app/

Вот рендеринг на стороне сервера с create-react-app

https://hackernoon.com/server-side-rendering-with-create-react-app-1faf5a9d1eff

TLDR: используйте create-react-app / react-scripts, если вы хотите перейти к 0-100 как можно быстрее по любой причине

Используйте только веб-пакет, если вам нравится бездельничать под капотом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...