我有一個通用的反應應用程序,其中服務器端建在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 config中添加別名僅解決客戶端捆綁問題。但是因爲它是一個通用應用程序,所以服務器端渲染代碼以及使用babel捆綁在一起如何解決這個問題 – guru107
好吧,現在我明白了爲什麼你爲babel添加了'module-resolver'插件。你做的正確,你只需要移除'[「transform-react-jsx」,{「pragma」:「h」}]'和'preact-compat'將和webpack一樣。 –
是的@MichaelJungo是對的。 「pragma」:「h」是針對那些直接使用preact的人,而不是通過preact-compat。 –