首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Preact添加到现有的create-react-app项目?

如何将Preact添加到现有的create-react-app项目?
EN

Stack Overflow用户
提问于 2021-03-03 23:54:21
回答 1查看 204关注 0票数 0

我有一个React项目,我想将其转换为Preact,以节省捆绑包大小。

我遵循了this的建议,在代码中添加了以下元素:

更改package.json

代码语言:javascript
复制
 "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject"
  },

...and添加config-overrides.js

代码语言:javascript
复制
const { override, addWebpackAlias } = require('customize-cra');

module.exports = override(
  addWebpackAlias({
    'react': 'preact/compat',
    'react-dom': 'preact/compat'
  })
);

当然,我还安装了preact-compatpreact

当使用Webpack包分析器构建我的应用程序并查看组件时,我看到reactreact-dom仍然在我的包中。

我的实现做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-03-13 19:37:37

reactreact-dom的出现实际上是正确的!

别名是指你提供了它没有要求的其他东西。

也许为了描述一下,想象一下,你向我要了一把螺丝刀来拧紧什么东西,我只知道螺丝刀是不正确的,然后递给你一把正确的。你仍然完成了工作,但你不知道有什么更好的,并引用了你所要求的螺丝刀。你不知道我给你的是完全不同的东西。

这里的别名也是一样的。CRA最终请求React,但我们将其添加到Preact中。多亏了preact/compat,一切都是一样的,而CRA并不比我们给它的Preact,not React更明智。

您可以通过注释掉别名并比较构建大小来确认别名是否正常工作。React将会大几个数量级。因此,如果在未注释时,构建大小要小得多,恭喜!别名可以工作,而您使用的是Preact。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66460515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档