У меня есть приложение для универсального реагирования, где серверная часть встроена в babel, а клиентский пакет построен в webpack
. Я прочитал preact-compact
документы и предлагает добавлять это в .babelrc
для строительства с использованием babel
:Миграция в preactjs
{
"plugins": [
[
"transform-react-jsx",
{
"pragma": "h"
}
],
[
"module-resolver",
{
"root": [
"."
],
"alias": {
"react": "preact-compat",
"react-dom": "preact-compat"
}
}
]
],
"presets": [
"react"
]
}
И webpack
:
{
"resolve": {
"alias": {
"react": "preact-compat",
"react-dom": "preact-compat"
}
}
}
Но после строительства я получаю ошибку
Как перейти на preact
для универсального приложения для реагирования
Добавление псевдонима в конфигурацию webpack только разрешает проблемы с пакетом. Но поскольку его универсальное приложение имеет код рендеринга на стороне сервера, который входит в комплект с помощью babel, как подойти к этой проблеме – guru107
Теперь я понимаю, почему вы добавили плагин 'module-resolver' для babel. Вы сделали это правильно, вам просто нужно удалить '[" transform-react-jsx ", {" pragma ":" h "}]' и 'preact-compat' будет делать то же самое, что и с webpack. –
Yup, @MichaelJungo является правильным. «Прагма»: «h» предназначена для тех, кто использует preact напрямую, а не через preact-compat. –