На официальном сайте Ant Design есть ответ на вопрос «Какreact-app-rewiredзагрузка по запросу», см.Использовать в приложении create-реагироватьОдна статья, в статье есть такой абзац
Вы также можете открыть все встроенные конфигурации с помощью команды запуска пряжи, предоставляемой приложением create-react-app. Однако этот метод настройки требует вашего собственного исследования, которое выходит за рамки этой статьи.
В этой статье в основном исследуется метод Eject.
Создайте проект с помощью приложения create-реагировать
Ссылаться на:Как расширить конфигурацию Webpack приложения Create ReactСпособ извлечения
Сначала создайте проект с помощью приложения create-реагировать
$ create-react-app antd-test
После создания проекта перейдите в каталог проекта и выполните yarn run eject или npm run eject.
$ npm run eject
После выполнения появится подсказка, операция необратима, выберите y, чтобы продолжить
После успешного извлечения конфигурация webpack будет раскрыта, а package.json добавит множество зависимостей.
установить и
Установить antd с помощью cnpm
$ cnpm install antd
Исправлятьsrc/App.js
, который вводит компонент кнопки antd.
import React, { Component } from 'react';
import Button from 'antd/lib/button';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<Button type="primary">Button</Button>
</div>
);
}
}
export default App;
Выполните установку cnpm, чтобы установить зависимости и запустить проект.
$ cnpm install
$ npm start
После запуска обнаруживается, что у кнопки нет стиля, и необходимо импортировать css-файл antd.
Исправлятьsrc/App.css
, импортируется вверху файлаantd/dist/antd.css
.
@import '~antd/dist/antd.css';
.App {
text-align: center;
}
...
Используйте babel-plugin-import для импорта стилей antd по требованию.
импортировать в начало файлаantd/dist/antd.css
На самом деле загружает все стили компонентов и компонентов (скрытая опасность для производительности интерфейса).babel-plugin-importэто плагин Babel для загрузки по требованию кода компонентов и стилей (принцип)
$ cnpm install babel-plugin-import --save-dev
Исправлятьsrc/App.js
...
- import Button from 'antd/lib/button';
+ import { Button } from 'antd';
...
затем удалите предыдущийsrc/App.css
Добавить всего добавлено@import '~antd/dist/antd.css';
В настоящее время стиль кнопки не действует, самый простой способ - изменитьpackage.json
Конфигурация babel в файле, добавьте конфигурацию babel-plugin-import
...
"babel": {
"presets": [
"react-app"
- ]
+ ],
+ "plugins": [
+ ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]
+ ]
}
...
сделай это сноваnpm start
, стиль снова вступает в силу
До сих пор был исследован метод введения antd по запросу с помощью метода Eject.