Next.js-React SSR在服务器上渲染时找不到模块“ ./page.scss”(保存文件后,渲染的客户端工作正常)

使用create-react-app软件包时,您可以在.scss键入文件时将.css-files 编译为-files。然后import './Header.css';您可以在React组件文件中进行操作,并应用样式。使用您的开发工具并查看样式的来源很容易。

Next.js试图让所有人使用Styled-JSX将样式表内联到JSX文件中,这与Web组件(或Polymer)的工作方式类似。我个人非常不喜欢这种方法。

其他问题:

  • 我的IDE(Webstorm)不支持Styled-JSX(即使解决方法看起来也很糟糕);
  • 我的开发工具(Chrome)不支持Styled-JSX-没有引用定义样式的行;
  • 它使我的源代码看起来像乱七八糟。
  • 如何在Styled-JSX中包含第三方CSS解决方案?现在我是否应该添加一个<link>到我的<head>对于外部的一切?带宽的最佳使用情况如何?引用内部的文件也node_modules感到尴尬和糟糕。

因此,只需将规则添加到next.config.js,对吗?

module.exports = {
    webpack: (config, { dev }) => {
        config.module.rules.push(
            {
                test: /\.(css|scss)/,
                loader: "style-loader!css-loader"
            }
        );
        return config
    }
};

然后就是import './Page.scss';(不用担心,它是有效的CSS,甚至还没有SASS,我知道我现在还没有包括sass-loader。我尝试首先使其简单。)

  1. 刷新页面(服务器端渲染):不起作用;
  2. 保存文件(保存文件后动态加载):确实有效(直到重新加载页面);
  3. 一直抱怨找不到文件,很多Google也在那里找到了。今天没有有效的解决方案。

So, why doesn't it work with SSR?