如何将 create-react-app 转换为 Preact?

zen*_*ght 6 reactjs webpack preact create-react-app

根据 Preact 文档,要将 React 应用程序转换为 Preact,您必须为 webpack 设置别名:

{
  "resolve": {
    "alias": {
      "react": "preact-compat",
      "react-dom": "preact-compat"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

你怎么能做到这一点,create-react-app因为它隐藏了 react-scripts 依赖下的 webpack?

谢谢!

小智 7

我认为最优雅的解决方案是使用customize-cra. 这样你就可以避免弹出或维护一个单独的create-react-app.

  • 首先,您需要安装customize-cra:
yarn add customize-cra react-app-rewired --D
Run Code Online (Sandbox Code Playgroud)
  • 然后,转到package.json,将您scripts的更改为以下(此步骤至关重要,但在customize-cra的文档中未明确提及):
  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject"
  },
Run Code Online (Sandbox Code Playgroud)
  • 转到项目的根目录,创建一个包含config-overrides.js以下内容的文件(假设您使用的是 Preact X):
yarn add customize-cra react-app-rewired --D
Run Code Online (Sandbox Code Playgroud)
  • 跑yarn start……瞧!

  • 公平警告,customize-cra 最后一次更新是在 7 个月前,react-scripts 4.0.0 已经发布了一段时间,这打破了这个解决方案。 (2认同)