【问题标题】:Next JS with styled components component libraryNext 带有样式组件的 JS 组件库
【发布时间】:2020-04-02 01:32:32
【问题描述】:

我正在尝试让下一个 js 使用已转换样式的组件组件库正确加载。这是一个用于重现问题的简单 repo:https://github.com/vongohren/fouc-example

所以发生的情况是我有一个渲染组件的小应用程序,但它不会在 SSR 请求上展示样式,只有在加载客户端时才显示。

我正在尝试在文档中加载的所有情况:https://github.com/zeit/next.js/blob/canary/examples/with-styled-components/pages/_document.js

但它无法从组件中捕获 css。只有内置在 SSR 中的组件本身起作用,而不是我导入的组件。

我如何调试它并弄清楚如何将 CSS 也附加到 SSR 请求上,而不仅仅是加载 JS。

在组件库中使用https://github.com/callstack/linaria 时,我能够得到一些工作,因为它输出了一个 CSS 文件,我能够导入并添加到 SSR 渲染中。但是如何使用样式组件来解决这个问题?

【问题讨论】:

    标签: next.js styled-components server-side-rendering


    【解决方案1】:

    我看到了你的 repo,看起来你的 .babelrc 可以更改。

    这个配置很适合我:

    "plugins": [
            [
              "babel-plugin-styled-components",
              {
                "ssr": true,
                "displayName": true,
                "preprocess": false,
                "minify": false
              }
            ]
          ]
    

    样式已加载到 SSR 中,并且没有发生奇怪的闪烁。希望对您有所帮助。

    【讨论】:

    • 感谢您的提示,但我试过了,它仍然在闪烁。我以前有过这些选择,但没有太大区别。如果你自己在那个 repo 上尝试过,我会很高兴,只需克隆并尝试,因为我现在尝试了很多不同的东西,以至于我有点困惑@Edrian
    • 感谢为我解决问题的人
    猜你喜欢
    • 2020-12-03
    • 2018-10-16
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 2020-03-14
    • 1970-01-01
    • 2019-08-23
    相关资源
    最近更新 更多