javascript - 如何在 piral app-shell 和 pilet 应用程序中使用 styled-components?
问题描述
我目前正在使用内部开发的 UI 框架构建一个 PoC Piral 应用程序。这个 UI 框架依赖于styled-components
模块,当我的 piral app-shell 和 pilet 应用程序都开始使用这些样式组件时,这会导致问题。
当我没有明确包含时styled-compnents
,我会收到以下错误消息:
Uncaught Error: Cannot find module 'styled-components'
at requireModule (dependency.js:7)
at dependency.js:32
at Array.map (<anonymous>)
at define (universalModuleDefinition:3)
at webpackUniversalModuleDefinition (universalModuleDefinition:7)
at universalModuleDefinition:12
当我添加styled-components
为依赖项时,我收到此错误消息,并且 piral app-shell 无法呈现:
看起来在此应用程序中初始化了多个“样式组件”实例。这可能会导致动态样式无法正确渲染、补水过程中的错误、缺少主题道具,并在没有充分理由的情况下使您的应用程序变大。
解决方案
我在文档中找到了答案
我必须在 piral app-shell 的package.json
文件中列出这些依赖项,如下所示:
"pilets": {
"externals": [
"styled-components",
"<internal ui framework>"
]
}
在我这样做之后,所有问题都解决了。
推荐阅读
- c - 如何让多个 POSIX 线程等待另一个线程开始
- jelastic - 为什么自定义 SSL 需要公共 IP?
- mysql - 用于获取子节点所有父节点的递归 CTE 查询的 WHERE 语句
- regex - 仅打印特定部分的配置文件中的行
- c# - C# 尝试解密文件以仅处理内存
- mocking - NSubstitute 无法确定项目“运行所有测试”时要使用的参数规范
- android - FCM Android - 点击通知 - 打开网页视图
- java - JAXB 无法将值转换为 BigDecimal
- c++ - 具有 N 列和 N 行的矩阵,列必须具有 N-1 , N-2 等值
- notifications - PWA关闭时如何接收点击通知数据?