- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建自己的 React 组件库。 package.json
正在使用 react
和 react-dom
作为对等依赖项,因为我只想为组件提供代码。然后这个包将用于其他基于 React 的项目,所以我将在这些项目中自己提供 React。
我决定在包中添加 StorybookJS 有两个原因
package.json
src/
components/ // contains components
storybook/ // <-- not part of the package
index.ts // <-- this is entry point of the package
然而,这引入了一个问题。由于 StorybookJS 需要
react
和
react-dom
要运行,我必须将它们作为库的依赖项包含在内。
webpack
实际上只捆绑组件代码,以便可以分发。我应该使用
externals
要排除的配置中的属性
react
和
react-dom
从捆绑?我想它会起作用,但随后
package.json
仍然会将 React 列为它的依赖项(我不想要)。
最佳答案
我最终把 react
和 react-dom
进入 peerDependencies
因为在我看来这是正确的方法。由于该包文件属于库本身(而不是 Storybook),因此它应该正确说明其依赖项。
为了避免将 React 捆绑到我的库包中,我将其放入 externals
webpack 配置如下:
externals: {
react: 'react',
'react-dom': 'react-dom',
},
这样,React 或 ReactDOM 就不会出现在 bundle 中。该库是 React 组件库,因此无论如何都不能在没有 React 的情况下使用它,您应该提供它。
prepare
安装包时安装对等依赖项的脚本。这样就为 Storybook 应用程序提供了 React 和 ReactDOM。
package.json
中的准备脚本:
"scripts": {
"prepare": "install-peers && npm run build"
}
我用过
install-peers
package安装 React 和 ReactDOM。对于较新版本的 NPM 客户端,您将不需要此包和
running npm install
should install peer dependencies as well .
关于reactjs - 在组件库包中使用 StorybookJS,以 React 作为对等依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65239096/
我希望我的 C/C++ 客户端通过 SSL 验证服务器。我首先使用 从服务器下载了证书文件 openssl s_client -showcerts -connect www.openssl.org:4
我正在尝试学习使用 RSelenium。我坚持只是尝试使用 rsDriver 启动服务器。我只是想运行下面的代码并得到以下错误: rD = 8 x64 (build 9200) Matrix prod
我已经建立了一个 8 组织的单 channel 结构网络。我能够进行整个网络设置。但是设置成功后。一些 docker 实例停止监听它们各自的端口。当我做 docker ps -a它显示了一些对等节点图
如何在多个 Azure Kubernetes 集群上的 Pod 之间配置路由? 与 Google Cloud 上的 ip-alias/vpc-native 类似的内容 最佳答案 在 AKS 中,我认为
我正在尝试实现点对点连接应用程序。所以我想将 2 个以上的设备相互连接。如何为每对设备创建单独的 session 使用新的 GameKit 框架是否可以连接到 1 个以上的设备? 最佳答案 您可以使用
我一直致力于创建一个 VPC 对等连接,该连接可以使用 cloudformation 从 eu-west-1 与 us-east-1 进行对等。这是目前的云信息: AWSTemplateFormatV
我正在尝试在两个不同区域之间进行 vpc 对等互连。在这里我已经创建了资源,现在我只想将它们的 id 作为参数传递。在同一区域,我可以在两个 VPC 之间进行对等。但我在两个不同的区域收到错误,因为r
我是一名优秀的程序员,十分优秀!