@material-ui 与 material-ui 之间的区别(无符号)

Posted

技术标签:

【中文标题】@material-ui 与 material-ui 之间的区别(无符号)【英文标题】:Difference between @material-ui vs material-ui (without at-sign) 【发布时间】:2019-11-14 11:04:08 【问题描述】:

刚开始(再次)使用材质 UI 并做出反应。有两个包material-ui和@material-ui,截至2019-07时间段,哪个是最好的起点(最新)?

我认为它是基于 ...https://material-ui.com/getting-started/installation/ 的 npm install @material-ui/core。 GIT 存储库位于 https://github.com/mui-org/material-ui

简单的问题,希望是简单的答案。

我看过的其他问题:

Use Create-React-App with Material UI - 这个答案说要使用 npm install --save material-ui 但因为它已经 2 岁了,我认为它可能已经过时了。

Difference between Material-Ui and Material-Ui-Next

How to install Material-UI Docs WITHOUT installing material-ui?

【问题讨论】:

在 Material UI 版本 5 上,安装使用 @mui。所以npm install @mui/material @mui/styled-engine-sc styled-components显示在这个页面上mui.com/getting-started/installation/#npm 【参考方案1】:

@范围表示包的所有权

到目前为止我看到的范围的主要优点是每个范围都由组织/用户的 npm 帐户控制,很像 GitHub 用户名/组织名称。

这样,您可以轻松确定您正在查看的软件包是否属于您信任的组织,或者它是否属于第三方工具。

例如,如果你看到:

@material-ui

那么你就知道它来自 ma​​terial-ui 团队并且可以信任

另一方面,同样的不能说:

material-ui

了解更多https://docs.npmjs.com/about-scopes

【讨论】:

【参考方案2】:

@material-ui/core 是用于 v4 的正确方法。对于 v5,等效包是 @mui/material

如果您转到https://www.npmjs.com/package/material-ui,您会看到material-ui 已被弃用。 material-ui 包中的最后一个稳定版本是 0.20.2。对于 1.0 版本,它移至 @material-ui/core,而对于 v5 的稳定版本,它移至 @mui/material

@material-ui 范围(适用于 v4)用于以下软件包,这些软件包都在您引用的 monorepo (https://github.com/mui-org/material-ui/tree/v4.12.3/packages) 中进行管理:

@material-ui/core @material-ui/icons @material-ui/styles @material-ui/system @material-ui/lab @material-ui/utils @material-ui/types @material-ui/docs @material-ui/codemod

同样,@mui 范围(适用于 v5)用于支持 v5 (https://github.com/mui-org/material-ui/tree/master/packages) 的类似包集:

@mui/material 这相当于@material-ui/core @mui/core 这是 NOT 等同于@material-ui/core@mui/core 是一个新包,用于组件的无样式(未应用 Material-Design CSS)版本。 @mui/icons-material @mui/styles 这是为了支持 withStylesmakeStyles JSS 支持的样式 API,不建议在新项目中使用。 @mui/system @mui/lab @mui/utils @mui/types @mui/docs @mui/codemod

【讨论】:

我更新的代码使用的是 v0.x,所以我发现这个链接很有帮助...material-ui.com/guides/migration-v0x 仅供参考...如果您尝试将npm install material-ui 更改为npm install @material-ui,您将收到错误Invalid tag name @material-ui: Tags may not have any characters that encodeURIComponent encodes. 正确用法npm install @material-ui/core 可以正常工作! Material-UI is now MUI! @x-yuri 我已经更新了我的答案以包含 v5 @mui 包。

以上是关于@material-ui 与 material-ui 之间的区别(无符号)的主要内容,如果未能解决你的问题,请参考以下文章

@material-ui 与 material-ui 之间的区别(无符号)

与 Material-UI 反应找不到模块

Material-ui 与其他非 mui 反应组件的兼容性

Material-UI 的选项卡与反应路由器 4 集成?

将 Material-UI 的 Autocomplete 组件与 Formik 一起使用

将 Formik 与 React 和 material-ui 的 TextField 一起使用