我正在从一个旧教程中学习react,所以我必须用的1.5.2版本创建一个项目。我已经在全球范围内安装了create-react-app@1.5.2
,没有问题。在我执行npx create-react-app
之后,它使用了最新版本的Create。
有任何方法可以做到这一点,或者在哪里可以找到该版本的项目的代码?
发布于 2022-03-13 20:50:29
这是不可能的,因为有几个原因:
我安装了来自这里的包“create app@1.5.2”,以确保我使用的是正确的create-react-app
版本:
npm init -y
npm install create-react-app@1.5.2
or
yarn init -y
yarn add create-react-app@1.5.2
在\node_modules\create-react-app
文件夹中,我执行了命令:
node index.js app-folder
它没有模板就安装了react的最后一个版本,因为它是包的旧版本,但仍然是最新版本:
通过查看文件createReactApp.js
,我可以看到它就是这样的,即使它是构建器“创建-反应-应用程序”的旧版本,它也会安装软件包的最后一个版本。
此外,如果您尝试以下命令:node index.js app-folder --scripts-version 1.5.2
它将不会找到您想要的版本,相反,它将显示一个可用版本的react脚本列表。
根据日期,正确的包裹是:
反应: 16.4.2反应-多姆: 16.4.2反应-脚本: 1.1.5
,以便您可以使用以下内容安装所需的版本:
npm init -y
npm install react@16.4.2 react-dom@16.4.2 react-scripts@1.1.5
or
yarn init -y
yarn add react@16.4.2 react-dom@16.4.2 react-scripts@1.1.5
发布于 2022-08-22 07:08:27
如果您正在响应v18,并且希望进入之前的不更改的破坏版本,下面是您可以做的事情:
在您的package.json中替换:
"react": "^18.0.0"
"react-dom": "^18.0.0"
使用
"react": "^17.0.2"
"react-dom": "^17.0.2"
然后转到顶部的条目文件index.js,替换:
import ReactDOM from 'react-dom/client'
使用
import ReactDOM from 'react-dom';
在index.js文件中,替换:
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
使用
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
--------------------------------------OR------------------------
如果您想通过npx命令
npx create-react-app[version] my-app
npx create-react-app@17.0.2 my-app
https://stackoverflow.com/questions/71460431
复制相似问题