Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Reactjs服务器端渲染FOUC问题_Javascript_Css_Reactjs - Fatal编程技术网

Javascript Reactjs服务器端渲染FOUC问题

Javascript Reactjs服务器端渲染FOUC问题,javascript,css,reactjs,Javascript,Css,Reactjs,在我的reactjs应用程序中实现服务器端呈现后,无论何时加载我的页面,它都不会将样式应用于页面,直到从服务器加载js。这就产生了FOUC问题。我试着使用提取文本网页包插件,但它仍然不起作用,即使我的样式被导出到不同的CSS文件中,并且我已经在html文件中包含了导出的CSS文件。下面是我的网页配置 module.exports = { context: path.join(__dirname, "src"), devtool: "inline-source-map", entry:

在我的reactjs应用程序中实现服务器端呈现后,无论何时加载我的页面,它都不会将样式应用于页面,直到从服务器加载js。这就产生了FOUC问题。我试着使用提取文本网页包插件,但它仍然不起作用,即使我的样式被导出到不同的CSS文件中,并且我已经在html文件中包含了导出的CSS文件。下面是我的网页配置

module.exports = {
  context: path.join(__dirname, "src"),
  devtool: "inline-source-map",
  entry: ['webpack-hot-middleware/client', './app/js/index.js'
  ],
  module: {
  loaders: [
  {
    test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
    loader: "file-loader"
  },
  {
    test: /\.css$/,
    loader: ExtractTextPlugin.extract("style-loader", "css-loader")
  },
  { test: /\.scss$/,
    loader: ExtractTextPlugin.extract('css!sass')
  }
 ]
},
output: {
  path: path.join(__dirname, "build"),
  filename: "index.min.js",
  publicPath: '/'
},

 plugins: [
  new webpack.optimize.DedupePlugin(),
  new webpack.optimize.OccurenceOrderPlugin(),
  new webpack.HotModuleReplacementPlugin(),

  new ExtractTextPlugin("./src/app/style.css",{
   allChunks:false
 })
 ]
 };

希望任何人都能找到解决方案并给出解释。

您的html模板是什么样子的?如果您正确地进行了服务器端渲染,那么从页面中临时删除js客户端捆绑包并确认FOUC已消失可能是有意义的。我已删除js客户端捆绑包,但仍应用css。FOUC是否消失?@DrewSchuster是。当服务器打印html字符串时,它不包含class属性,因此直到客户端js接管类时,才会应用。对此有任何更新吗?