我可以从 Material UI 创建自定义组件库 NPM 包吗?

Posted

技术标签:

【中文标题】我可以从 Material UI 创建自定义组件库 NPM 包吗?【英文标题】:Can I create a custom component library NPM package out of Material UI? 【发布时间】:2020-12-05 10:26:37 【问题描述】:

基本上我想要

    将 MaterialUI 作为基础包 (@material-ui/core) 根据我的品牌和风格指南自定义所有或所需的组件,并生成我自己的组件库作为 NPM 包。 (自定义@material-ui/core 并创建自己的包,如@myorg/core) 通过安装 NPM 包并导入,在我的项目中使用这些自定义组件。 (npm install @myorg/core 并从 '@myorg/core/button' 导入 'button')

因为我想为不同的 react 应用创建一个通用的组件库。

请让我知道这是否有意义。

【问题讨论】:

你做到了吗?你能分享你的方法吗?谢谢! 【参考方案1】:

当然可以。

如果您想在不同的应用程序中重用它或发布它,甚至建议您创建一个包。

大多数包都使用另一个包(称为dependencies),有时会在这些包的组件之上构建新组件。 You can read more about dependencies here..

带有MIT License 的包也允许Modification

有关创建NodeJS 模块的更多信息,请访问here。

最后,如果您愿意在NPM、follow this 中发布包。

【讨论】:

是的,我了解并创建了自己的包,但我不知道如何自定义现有的 npm 包并使用自定义名称重新打包并将它们用作依赖项。因此,举个例子会有所帮助。 Maybe this will help? 非常感谢您的 cmets,但我认为这不是我想要的。可能是我不清楚我的要求。我会看看是否可以正确解释它以获得正确的解决方案。 试图创建一个图形来解释我的要求。我也在研究bit.dev/mui-org/material-ui,在这里我看到了 MUI 组件。但是从这里我也想要根据我的组织自定义样式。让我知道这是否清楚? 虽然我认为您现在更清楚了,但我仍然认为您正在寻找的是 fork Material UI 存储库并更改您想要的东西。然后与其他人(或您的组织)共享您的新包。 Read about forking a github repository here

以上是关于我可以从 Material UI 创建自定义组件库 NPM 包吗?的主要内容,如果未能解决你的问题,请参考以下文章

React-Router 和 Material-UI:根据路由应用自定义主题

如何使用带有 material-ui 图标组件的自定义 SVG 文件?

从库导入的 React 组件的 Material-Ui 主题化问题

如何为 Material-ui 的组件设置主要的浅色/深色?我正在使用像这里这样的自定义主题

在 Material-ui 中使用 mixins 自定义 React 中的组件

带有自定义组件的 Material ui 文本字段和 Formik 表单