Перед тем, как начать эту историю, я подумывал провести какой-то катарсис, но давайте перейдем к решениям. Катарсис больше не нужен, потому что альтернатива Redux без сложности уже создана: D

Птцсс! Не забудьте прочитать новую статью React Conditional Rendering (чтение 1 мин)

Обновление на 2018 год: для всех, кто сталкивался с ошибками, которые Webpack жаловался на синтаксис jsx с Unexpected token, тогда, пожалуйста, проверьте этот комментарий Криса

Если вы хотите создать компонент React и опубликовать его в NPM, вам нужно сделать две вещи:

  • Создать компонент
  • Создайте проект, в котором вы протестируете свой компонент

Создание компонента

Предположим, наш компонент будет называться react-fancy-component

Затем вручную создайте эти файлы:

.babelrc

webpack.config.js

package.json (не забудьте поменять name в этом файле)

Давайте продолжим:

npm link будет использоваться для тестирования нашего компонента в нашем тестовом проекте, пока мы его разрабатываем.

Затем создайте свой компонент в /src/index.js

Давайте попробуем на этом примере. Создайте этот файл:

src/index.js

Выполнено! Наш модный компонент готов!

Создание нашего тестового проекта

Теперь давайте создадим действительно простой проект для тестирования нашего модного компонента.

Затем давайте изменим наш src/App.js файл, добавив импорт и использование компонентов. Итак, вы должны добавить эти 2 строки:

import Fancy from 'react-fancy-component';

<Fancy />

Ваш src/App.js должен выглядеть так:

А затем, наконец, запустите npm start и посмотрите, какой красивый модный компонент вы только что создали! Ты понял, мужик!

Это должно выглядеть так

В качестве последнего шага давайте опубликуем наш компонент.

В качестве первого шага перейдите в папку компонентов (react-fancy-component) и добавьте все данные, которые вы должны добавить в файл package.json, такие как имя, версия, описание и автор.

Затем в папке компонентов настроим npm для публикации вашего компонента (помните, что вам нужна учетная запись на http://npmjs.com/. Не волнуйтесь, это бесплатно… пока…).

Что вам нужно сделать, это запустить npm login и указать свое имя пользователя, пароль и общедоступный адрес электронной почты.

Затем запустите npm publish и… ВСЕ!

Посмотри на этого человека: https://www.npmjs.com/package/react-fancy-component

Так здорово!

А магия? Где магия?

Магия заключается в двух строчках всего проекта. Обе строки находятся внутри webpack.config.json файла.

А как насчет времени разработки?

Вы должны запустить npm start в двух разных Терминалах. Один терминал в папке компонентов, а другой в папке тестового проекта.

Webpack будет перекомпилировать ваш компонент каждый раз, когда вы вносите изменения в какой-либо файл (в свой компонент), а затем автоматически Webpack, который есть в нашем тестовом проекте, обнаружит изменение и перекомпилирует наш тестовый проект. Вы увидите свои изменения в своем браузере.

А как насчет музыки?

Вот причудливый человек: