为什么我弹出的 CRA 项目中需要这些特定的包
Why do I need theese specific packages in my ejected CRA project
引导 CRA 3.0 应用程序然后弹出。
检查我的 package.json
.
找到了多个我不太清楚的包用法。
"semver": "6.0.0"
为什么我需要这个?在 config/*
和 scripts/*
中均未找到任何用法。它似乎是相关包的 react-scripts
类似验证逻辑的产物,所以它看起来像是我的 应用程序依赖项 .
中的一个膨胀块
"react-app-polyfill": "^1.0.0"
用于 IE 等的 Polyfills?好的,但为什么要单独包装?在 core-js
或 babel-polyfill
之上使用一些未知的包让我很害怕。同样,在初始代码库中找不到任何用法。
P.S。我不是在问这些包是什么,我是在问为什么我看到它们在弹出的脚本中未被使用
更新:react-app-polyfill/jsdom
用于 Jest 安装文件
create-react-app
使用名为 react-scripts
的包,它隐藏了它在下面使用的所有不同包。
当您 eject
一个应用程序时,react-scripts
使用的依赖项是 copied over 您自己的 package.json
。但是对于像 eject 这样的一些脚本,使用像 @remove-on-eject-begin
这样的 babel 注释删除了各个部分。即使在您弹出之后,这些部分中使用的依赖项仍然存在。
这就是您如何找到像 semver
这样没有在您的应用程序代码中的任何地方使用的包的方法。在 unejected 创建 React 应用程序中,该包将用于在弹出之前验证 semantic versions。
现在可以安全移除这些。但无论如何,它们不会被纳入您正在创建的静态包中。
引导 CRA 3.0 应用程序然后弹出。
检查我的 package.json
.
找到了多个我不太清楚的包用法。
"semver": "6.0.0"
为什么我需要这个?在 config/*
和 scripts/*
中均未找到任何用法。它似乎是相关包的 react-scripts
类似验证逻辑的产物,所以它看起来像是我的 应用程序依赖项 .
"react-app-polyfill": "^1.0.0"
用于 IE 等的 Polyfills?好的,但为什么要单独包装?在 core-js
或 babel-polyfill
之上使用一些未知的包让我很害怕。同样,在初始代码库中找不到任何用法。
P.S。我不是在问这些包是什么,我是在问为什么我看到它们在弹出的脚本中未被使用
更新:react-app-polyfill/jsdom
用于 Jest 安装文件
create-react-app
使用名为 react-scripts
的包,它隐藏了它在下面使用的所有不同包。
当您 eject
一个应用程序时,react-scripts
使用的依赖项是 copied over 您自己的 package.json
。但是对于像 eject 这样的一些脚本,使用像 @remove-on-eject-begin
这样的 babel 注释删除了各个部分。即使在您弹出之后,这些部分中使用的依赖项仍然存在。
这就是您如何找到像 semver
这样没有在您的应用程序代码中的任何地方使用的包的方法。在 unejected 创建 React 应用程序中,该包将用于在弹出之前验证 semantic versions。
现在可以安全移除这些。但无论如何,它们不会被纳入您正在创建的静态包中。