Sass 使用Web包加载样式会导致样式在初始加载时闪烁

Sass 使用Web包加载样式会导致样式在初始加载时闪烁,sass,webpack,Sass,Webpack,我目前正在做一个项目,我正试图通过网页加载我的SCS/sass。我当前正在使用以下LIB成功加载它: 节点sass sass加载器 css加载器 样式加载器 我可以要求/成功导入样式,但问题是,当我加载应用程序时,页面加载时没有样式约1.5秒,然后页面“闪烁”并最终加载样式 有没有办法通过网页解决这个问题?我听说过ExtractTextPlugin和其他一些例子,但我试图通过查看文章示例和github示例来实现它,但在需要的地方使用require/import似乎不起作用。我只希望根据我的r

我目前正在做一个项目,我正试图通过网页加载我的SCS/sass。我当前正在使用以下LIB成功加载它:

  • 节点sass
  • sass加载器
  • css加载器
  • 样式加载器
我可以
要求
/
成功导入
样式,但问题是,当我加载应用程序时,页面加载时没有样式约1.5秒,然后页面“闪烁”并最终加载样式

有没有办法通过网页解决这个问题?我听说过
ExtractTextPlugin
和其他一些例子,但我试图通过查看文章示例和github示例来实现它,但在需要的地方使用
require
/
import
似乎不起作用。我只希望根据我的react组件需求来要求样式。不加载组件不需要的任何样式。

您有(至少)两个选项来防止此FOUC(未样式内容的闪烁):

  • 使用类似或的插件将编译后的CSS提取到一个单独的文件中,您可以在
    ()或
  • 使用CSS隐藏内容,直到样式准备就绪,加载的样式应包含使内容可见的样式

  • 你的整个页面是一个React应用程序吗?在这种情况下,这种情况不应该发生,因为webpack确保首先加载所需的模块(在本例中为样式)。但是如果你的应用程序只有一部分在React中,并且你的所有样式都是通过JS加载的,那么你可能应该拆分它们或者使用ExtractTextPlugin。你能提供更多关于你的应用程序的信息吗?是的,整个页面都是React应用程序,我发现发生这种情况很奇怪:/Im使用React、React router和redux。您还想知道其他信息吗@西尔维诺尼认为你必须把这个问题孤立一点。只需去掉应用程序中不属于样式的部分,就可以发布导致此问题的最低限度的网页配置。或者将链接发布到repo。
    sass-loader
    认为FOUC可能存在问题,建议在生产中将样式表提取为单独的文件。当您尝试使用
    ExtractTextPlugin
    时,有什么不起作用?