Sri*_*Sri 6 npm node-modules reactjs material-ui
我的主要反应项目使用的情况是"@material-ui/core": "^1.5.1",对于我正在尝试构建的新组件,我想使用 #@rjsf/material-ui":"3.2.1" 内部需要最新版本的"@material-ui/core": "4.12.3". 在不影响主项目@material-ui/core版本的情况下,我如何安装这两个版本并强制"@rjsf/material-ui":"3.2.1"引用"@material-ui/core": "4.12.3"?
我在这里寻找可能的解决方案,但是"@rjsf/material-ui":"3.2.1", 仍然在内部引用"@material-ui/core": "^1.5.1"并中断。解决这个问题的出路是什么?提前致谢。
要在您的环境中安装同一软件包的多个版本,您需要使用称为别名的原则。要应用它,请使用以下命令安装包:
npm i <package_name_alias>@npm:<package_name>
Run Code Online (Sandbox Code Playgroud)
这里,<package_name_alias>是用于通过 JavaScript 文件导入此特定版本的包的名称,并且<package_name>是您想要拥有多个版本的包。
我会给你 npm 包上的例子react-bootstrap。例如,您希望同时拥有基于 Bootstrap 4 和 Bootstrap 5 的版本。因此,您必须执行这些命令:
npm i react-bootstrap-v5@npm:react-bootstrap@2.0.3
npm i react-bootstrap-v4@npm:react-bootstrap@1.6.4
Run Code Online (Sandbox Code Playgroud)
这样,要在 JavaScript 文件中导入基于 Bootstrap 4 的按钮,您需要导入 1.6.4 版本react-bootstrap,并且可以使用其别名来执行此操作:
import { Button } from 'react-bootstrap-v4'
Run Code Online (Sandbox Code Playgroud)
如果您想要基于 Bootstrap 5 的按钮,则导入如下:
import { Button } from 'react-bootstrap-v5'
Run Code Online (Sandbox Code Playgroud)
软件包的一个版本(在您的情况下是@material-ui/core您正在使用的版本)可能保持非别名状态。
| 归档时间: |
|
| 查看次数: |
4047 次 |
| 最近记录: |