我将使用 CSS模块 导入样式,并使其与服务器端渲染一起使用。我尝试了以下方法,但是每个方法都有其自己的警告。require('.style.scss')如果有任何副作用,最好的方法是什么?
require('.style.scss')
优点 :易于配置。您只需要在服务器代码的开头调用该挂钩。您无需修改组件。
警告* :修改 不推荐使用 的require.extensions全局对象。 *
require.extensions
优点 :不再需要钩子require.extensions。
警告 :使用HOC封装使用React的HOC组件Context,这是一个 实验性的 API,可能会在React的未来版本中破坏。
Context
优点 :不依赖require.extensions或Context(AFAIK)。
警告 :在webpack-isomorphic-tools实例中包装服务器。我们可以摆脱 webpack-assets.json 吗?
优点 :不再需要钩子或注射剂。
警告 :在开发中,每当代码更改时将所有内容捆绑在一起非常麻烦,甚至使在大型捆绑文件中调试变得 更加困难.js。不确定- 您可能需要将捆绑包传递.js给测试跑步者。
.js
免责声明 :
最后,我决定加入require.extensionsin开发。在控制台上显示警告消息(例如校验和不匹配)可能不是最好的方法,但是在开发模式下,我可以忽略它。