Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Reactjs CSS模块的服务器端呈现_Reactjs_Webpack_Server Side Rendering_Isomorphic Style Loader - Fatal编程技术网

Reactjs CSS模块的服务器端呈现

Reactjs CSS模块的服务器端呈现,reactjs,webpack,server-side-rendering,isomorphic-style-loader,Reactjs,Webpack,Server Side Rendering,Isomorphic Style Loader,我将使用CSS模块导入样式,并使其与服务器端渲染一起工作。我尝试了以下方法,但每种方法都有自己的警告。如果有副作用,需要('.style.scss')最好的方法是什么 使用: 优点:易于配置。您只需要在服务器代码的开头调用钩子。您不需要修改组件 警告:它修改了require.extensions全局对象,该对象已弃用 使用: 优点:不再需要的钩子。扩展 注意事项:使用使用React上下文的HOC包装组件,这是一种实验性API,可能在React的未来版本中中断 使用: 优点:不依赖于要求.扩展或上

我将使用CSS模块导入样式,并使其与服务器端渲染一起工作。我尝试了以下方法,但每种方法都有自己的警告。如果有副作用,
需要('.style.scss')
最好的方法是什么

  • 使用:

    优点:易于配置。您只需要在服务器代码的开头调用钩子。您不需要修改组件

    警告:它修改了
    require.extensions
    全局对象,该对象已弃用

  • 使用:

    优点:不再需要
    的钩子。扩展

    注意事项:使用使用React
    上下文
    的HOC包装组件,这是一种实验性API,可能在React的未来版本中中断

  • 使用:

    优点:不依赖于
    要求.扩展
    上下文
    (AFAIK)

    注意事项:在网页包同构工具实例中包装服务器。我们能处理掉网页包资产.json

  • 将服务器与网页包绑定

    优势:不再使用钩子或注射

    注意事项:在开发过程中,每当代码发生变化时,捆绑所有内容都是非常麻烦的,甚至使更难在一个大型捆绑的
    .js
    文件中进行调试。不确定-您可能需要将捆绑的
    .js
    传递给test runner

  • 免责声明

    • 下面的优点和注意事项仅是我的两分钱,事实上,我喜欢所有的库、插件和解决问题的方法,非常感谢他们的努力
    • 我不是以英语为母语的人,请纠正我的错误陈述

    最后,我决定在开发中钩住
    require.extensions
    。可能这不是最好的方式,在控制台上显示警告消息,比如校验和不匹配,但在开发模式下,我可以忽略它。

    您能解释一下
    require.extensions
    ???我也经历了同样的事情,并且几乎得到了
    css模块需要hook
    的工作,但不确定这是否真的是正确的方法。我在这里回答了类似的问题:希望它有帮助。