私は、サーバ側がbabelで構築され、クライアントバンドルがwebpack
で構築されている汎用の反応アプリを持っています。どのようにpreactjsへの移行
を
{
"resolve": {
"alias": {
"react": "preact-compat",
"react-dom": "preact-compat"
}
}
}
しかし、構築した後、私はエラーを取得する:私はpreact-compact
ドキュメントを読んでいると、それはbabel
を使用して構築するための.babelrc
でこれを追加することを提案:
{
"plugins": [
[
"transform-react-jsx",
{
"pragma": "h"
}
],
[
"module-resolver",
{
"root": [
"."
],
"alias": {
"react": "preact-compat",
"react-dom": "preact-compat"
}
}
]
],
"presets": [
"react"
]
}
とwebpack
用普遍的な反応アプリの場合preact
に移動
webpack configにエイリアスを追加すると、クライアントバンドルの問題のみが解決されます。しかし、普遍的なアプリケーション以来、サーバー側のレンダリングコードも同様にその問題に近づくためにどのようにバベルを使用してバンドルされます – guru107
今、私はあなたがbabelのための 'module-resolver'プラグインを追加したのを見ます。これを正しく実行しただけで、 '[" "transform-react-jsx"、{"pragma": "h"}] 'を削除する必要があり、' preact-compat'はwebpackと同様に動作します。 –
うん、@MichaelJungoが正しい。 "pragma": "h"はpreact-compatではなく、preactを直接使用する人のためのものです。 –