Как добавить React-Router в приложение preact из preact-cli
Я создал приложение Preact с помощью preact-cli, и мне нужно добавить
react-router-dom
в мой проект для маршрутизации. Как я могу добавить в проект реактивный маршрутизатор, не извлекая приложение, чтобы установить библиотеку маршрутизатора?
Я видел варианты добавления веб-пакета, но для этого нужно удалить приложение.
я добавил
"preact-compat": "^3.19.0",
в мой package.json в проекте, но не знаю, как добавить веб-пакет или импортировать необходимый импорт реактивного маршрутизатора:
import {BrowserRouter as Router, Route, Switch, NavLink} from 'react-router-dom';
2 ответа
Удалось заставить это работать с импортом
import {BrowserRouter as Router, Route, Switch, NavLink} from 'react-router-dom';
а также
yarn build
тогда
yarn-serve
но это требует извлечения приложения
Нет возможности "выкинуть" из . Это не существующая функциональность, поэтому я немного смущен тем, о чем вы говорите.
Мы делаем всю конфигурацию доступной для вас через ваш
preact.config.js
. При этом вы можете настроить абсолютно любую часть конфигурации Webpack, которую вы хотите, и только те биты. Вам не нужно делать что-то вроде извлечения CRA, где теперь вы должны владеть всей конфигурацией самостоятельно. Вы можете отредактировать нужные фрагменты и оставить все остальное за пределами сайта и из памяти.
Я видел варианты добавления веб-пакета
использует Webpack для связывания, это основной базовый инструмент. Без Webpack его использовать невозможно, так что в этом нет особого смысла.
я добавил
"preact-compat": "^3.19.0"
Удали это. уже добавляет compat, и делает это из правильного источника.
Если вы читаете документы для
preact-compat
, вы увидите, что это только для Preact 8.x и более ранних версий, которые на данный момент устарели на несколько лет. Правильный пакет совместимости для v10+:
preact/compat
. Мы уже настроили это для вас, поэтому вам не нужно ничего делать самостоятельно.
Как вы думаете, почему вам нужно делать какие-либо настройки только для того, чтобы импортировать библиотеку? Сталкивались ли вы с какими-либо ошибками или, может быть, документами, которые запутаны/ошибочно сформулированы? Только что провел тест с v6, должен работать из коробки после того, как вы замените его на
preact-router
(при условии, что вы установили
preact-cli
проект с использованием одного из наших шаблонов)