如何更新 ReactJS 的 `create-react-app`?

nop*_*ole 9 reactjs create-react-app

ReactJS文档中阐明的我们可以使用

npx create-react-app my-app
Run Code Online (Sandbox Code Playgroud)

创建一个 React 应用程序。但是我们如何更新create-react-app?如果它是由 开始的,是否有一般规则npx?我继续点击一些链接并到达网站https://create-react-app.dev/并且它有一行:

npm install react-scripts@latest
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否运行它,它不是-g(全局),所以它可以让我们在任何文件夹中创建一个 React 应用程序吗?此外,当我运行它时,它给出了:

found 6289 vulnerabilities (4974 low, 306 moderate, 1004 high, 5 critical)
Run Code Online (Sandbox Code Playgroud)

所以似乎有一些需要额外做的事情。

小智 16

错误:您正在运行create-react-app4.0.1,它落后于最新版本 (4.0.3)。

npm install -g create-react-app

这会将其更新为全球最新版本。然后你可以运行“npx create-react-app appname”


Yua*_*ang 14

如果它是现有的应用程序,通常package.json手动更新到最新版本效果很好(我没有遇到任何问题,但它可能会中断,具体取决于您的项目的年龄)。

npx将使用最新版本,前提是您没有安装全局版本。如果是这样,请先卸载:

npm uninstall -g create-react-app
Run Code Online (Sandbox Code Playgroud)

然后运行:

npx create-react-app my-app
Run Code Online (Sandbox Code Playgroud)

如果您在软件包中看到的版本是最新的(现在是 3.4.0),则意味着您确实获得了最新的版本。它可能是另一个抛出警告的包?

  • 我可以使用“npm list -g create-react-app”来查看是否安装了任何全局的,这是真的吗? (3认同)

Agn*_*ney 11

npx是一个包运行器,来自文档

从本地 node_modules/.bin 或中央缓存执行,安装运行所需的任何包。

默认情况下,npx 将检查 $PATH 或本地项目二进制文件中是否存在,并执行它。如果没有找到,它将在执行前安装。

因此,除非您已create-react-app全局安装(您不应该安装),否则它将下载最新的并使用它。在您发现的第二个命令中:

npm install react-scripts@latest
Run Code Online (Sandbox Code Playgroud)

这不是用于更新 create-react-app CLI,而是用于更新本身react-scripts使用的版本react-appreact-scripts是捆绑babelwebpack以及您的反应应用程序中的所有配置的包。

文档

create-react-app 是一个全局命令行实用程序,可用于创建新项目。

react-scripts 是生成的项目(包括这个)中的一个开发依赖项。