当前位置: 首页 > 面试题库 >

弹出以构建组件库后,对create-react-app进行配置

鲁华灿
2023-03-14
问题内容

我开始通过使用创建一个React应用程序来构建要在NPM上发布(并在其他应用程序中重用)的组件库create-react- app。不幸的是,create- react-app默认配置似乎不支持构建此类组件库(请参阅 这些 问题)。所以看来我必须退出。

在弹出后,您是否有一些说明要配置什么,以使其成为可以在其他应用程序中重用的组件库(我猜有些Webpack的东西)?


问题答案:

重新将我的评论变成答案。

不要弹出!CRA将很多东西藏在引擎盖下,弹出会把它扔掉。src完成工具设置后,将您的克隆到另一个项目相对容易。

并且自己设置一个不是很困难!这是您需要做的事情:

  1. 基本的babel和webpack配置,因此您的代码可以编译。

  2. 确保将React和React-DOM作为外部依赖项添加到package.json文件中,并作为别名添加到webpack.config.js中。(这里有一个详尽的讨论。)这对于确保仅运送最小的捆束非常重要。另外,React不能很好地与多个副本配合使用。

  3. (可选)对其他任何较重的库(例如Material-UI,Bootstrap,Lodash等)执行相同的操作。

  4. 在webpack的配置中,决定您希望库导出的方式如何?您应该对UMD感到满意。

  5. 在您的文件中添加main(和可选的 module)条目,package.json以使npm导入了解应从何处导入组件。

  6. 发布它。

  7. 做完了!

或者,您可以简单地克隆这些超薄组件项目之一,然后在其中放置组件-

  • https://github.com/wangzuo/react-progress-label
  • https://github.com/aaronshaf/react-toggle

也有更完整的入门工具包,但是IMO重要的是要先了解自己的细节,然后再将其抽象出来。一旦熟悉了过程,就应该尝试利用这些工具包,因为它们远远超出了基础知识,例如测试集成,react-
storybook支持和强大的npm发布支持。

更新:

CRA的目的是允许快速实验和入门进行React开发,而无需经历(对于初学者来说有些复杂)工具设置。CRA的预期用例(如名称中的“
App”所示)是整个应用程序,而不是组件。尽管开发基于ES6之类的语言功能构建的东西需要一些工具,但与组件相比,应用程序通常需要更多的设置。例如,您还需要一个服务器组件来托管生成的代码。CRA会为您做所有这一切。

而且,如果您正在开发应用程序,则当您希望控制应用程序的服务器端时将弹出该应用程序。在这种情况下,它会增加价值,因为您将获得CRA在弹出期间自动生成的基本托管代码。

为了满足测试需求,CRA还具有Jest集成,这是一个测试运行程序,具有React特定功能(例如快照测试)。同样,使用构建管道手动设置它很少,而CRA再次向您隐藏了所有这些复杂性,因此您只需专注于编写测试即可。



 类似资料:
  • 问题如下: 想要在React 项目执行yarn build 时, 给index.html 增加后缀 没有使用react-eject, 使用的是crao 替代, 但是craco.config.js 配置 HtmlWebpackPlugin不生效。 craco.config.js 配置如下: package.json 部分组件版本如下: 执行yarn build 打包后,配置无效, 请教各位大佬们了

  • 创建响应应用时,图像中出现错误。它一直在正常工作,我所做的就是mkdir和cd到那个dir。 这就是错误的样子... NPX:在36.634s中安装了99必须使用导入来加载ES模块: C:\用户\Neeraj\AppData\漫游\npm-cache_npx\5172\node_modules\create-react-app\node_modules\is-promise\index.js不支持

  • 我正在尝试使用包和一个简单的组件库构建一个lerna包。我的组件如下: 我最初的如下: 指数js 一个pp.js 运行时,我遇到以下错误: 发生此错误是因为不转译其项目之外的文件。由于我的组件驻留在另一个目录中的另一个lerna包中,因此它不会被转译。 为了解决这个问题,我弹出了我的应用程序,最后得到了以下网页配置文件:,在这里,我添加了一段代码来设置目录(我添加了项目上方的目录,因为这将指向我的

  • 我使用create react应用程序已经有一段时间了。“npm start”或“yarn start”自动重装本身工作正常,但现在我有了另一个问题。目前,我在express server上通过build文件夹运行应用程序,我使用“npm run build ”,因为express正在提供构建文件。有许多api调用要求应用程序以这种方式运行。现在,每次手动执行“npm运行构建”变得很乏味。有没有一

  • Create React App 不用配置就可以创建 React App。 全局安装: npm install -g create-react-app 创建 App: create-react-app my-appcd my-app/ 启动 npm: npm start 打开 http://localhost:3000/  查看你的 App。 如果你准备将其部署到生产环境,只需创建一个压缩包,并且运行 npm run build。

  • 我正在使用一个快速后端创建反应应用程序。我在端口3001上运行后端,在开发模式下,前端通过端口3000运行。我的package.json中有< code > " proxy ":" http://localhost:3001 " ,api工作得很好。 然而,当我使用yarn build,然后运行< code>serve -s build时,根本就没有进行api调用。我不知道为什么它在生产中不工作,