我有一个通用的反应应用程序,其中服务器端建在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。 –