Рубрики
Без рубрики

Настройка библиотеки React Component с использованием приложения React React, React Styleguidist и Teadercript

Настройка библиотеки компонентов реагирования за 10 минут

Автор оригинала: Mukul Jain.

Я работал над личным проектом, где я разработал несколько компонентов, которые, как я думал, стоит делиться, но как? Я могу опубликовать их на NPM, но пользователь должен быть в состоянии поставить с ними не только увидеть примеры по умолчанию, вот когда я обнаружил, что over Pilluguidist, я боролся на 1 день, чтобы получить это впервые, и теперь он берет 10 минут со стильной установкой компонентов.

Мы будем использовать raction STALLGUIDISTIST, так как не только можно взаимодействовать с компонентами, можно также изменить реквизиты и написать пользовательскую функцию, чтобы посмотреть, как компонент ведет себя.

RACT STALLGUIDISTISTAIST не предоставляет Boving PlateLate Alcess App, но его плагин и может быть легко интегрирован с CRA или на любое приложение React с WebPack, я разделил шаги на 3 части.

Создать приложение React с помощью Teadercript

  1. Добавить реагировать стильгидист
  2. Добавьте поддержку TeampScript
  3. Создать приложение React

Создайте настройку RACT с использованием CRA с использованием NPX для последней версии или пряжи.

// Using yarn
yarn create react-app my-component-library --typescript
// Using npm
npx create-react-app my-app --typescript
cd my-component-library
// Make sure App is running
yarn start

Добавить реагировать стильгидист

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

пряжа add -d raction-styleguidist

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

"start": "npx styleguidist server",
"build": "npx styleguidist build",
"test": "react-scripts test",
"eject": "react-scripts eject"

Начнем наш сервер, используя начало пряжи, появится следующая страница.

1 * wp5aez4kkro04wrbvkl34a.png.png.png

Это потому, что мы не говорили Стильгидиста, где наши компоненты, у нас даже нет ни одного компонента.

Давайте добавим простой компонент кнопки в папке SRC/компонентов/кнопку.

// src/components/button/Button.tsx

import  as React from "react";


class Button extends React.PureComponent {
  render() {
    return (
      
    );
  }
}

export default Button;

Добавьте STYLEGUIDE.CONFIG.JS в корневую папку приложения и напишите следующий код внутри него, он говорит стилю, где наши компоненты.

module.exports = {
  components: "src/components/**/*.tsx"
};

Запустите сервер снова, используя начать пряжу, обратите внимание, что мы сделали изменение в Styleguidist Configuration для этого, чтобы отразить, что мы должны перезапустить сервер.

Это должно выглядеть что-то вроде этого

1 * p2ovhdgjywzrmmij8teonw.png.

К нашему компоненту появится там, мы должны создать readme.md внутри папки кнопки, как это, каждый компонент будет иметь свой файл readme.md, где вы можете показать различный пример с различными выбросами.

// src/components/Button/README.md
js


Говоря о разных реквизитах позволяет добавить опоры нашу кнопку

// src/components/button/Button.tsx

import  as React from "react";

interface IProps {
  /
    Size of the button
   /
  size: "regular" | "large";
}

class Button extends React.PureComponent {
  render() {
    const { size, children, ...rest } = this.props;
    return (
      
    );
  }

  static defaultProps = {
    size: "regular"
  };
}

export default Button;

// src/components/Button/README.md




Приведенный выше код и Readme.md приведет к

1 * nno_pnz41fxndbdkack2hg.png.

Раздел «Реквизит и метод» был автоматически добавлен в наше описание компонента, но тип неизвестен, что не должно быть так, как мы используем TeampScript, и он должен показать «регулярно» | «Большой», React STALLGUIDISTISTIST не поддерживает Typescript по умолчанию, он прочитал реквизиты от PROPTYPE здесь, он использует по умолчаниюProops, чтобы показать вышеупомянутое, нам нужно добавить анализатор, который будет анализировать реквизиты, определенные в Teamscript.

SpaceStry Поддержка Добавить React-Docgen-Teamscript с использованием

пряжа add -d racted-docgen

Добавить парсер Tostyleguide.config.js.

module.exports = {
  components: "src/components/**/*.tsx"
  propsParser: propsParser: require("react-docgen-typescript").parse
};

Вы также можете добавить описания для iProps, используя JSDOC чуть выше опоры, он будет показан в разделе Описание

1 * aq9yf6kwaxadxb8cpf5siq.png.

Высокие пять 🙌 У нас есть библиотека компонентов, теперь мы можем добавить отдельный файл package.json на каждый компонент и публиковать их на NPM.

Я подтолкнул вышеуказанную настройку на GitHub, вы можете проверить для справки или использовать его напрямую.

Спасибо за чтение!

Прочитайте это на Середина