2

我打算使用CSS模块导入样式,并使其适用于服务器端渲染。我尝试了以下方法,但每个方法都有自己的警告。如果有任何副作用,require('.style.scss')的最佳方法是什么?CSS模块的服务器端渲染

  1. 使用css-modules-require-hook

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

    买者:它修改require.extensions全局对象,这是过时

  2. 使用isomorphic-style-loader

    优势:没有更多的钩require.extensions

    买者:与使用阵营Context,这是一个实验API和可能在阵营的未来版本打破肝卵圆细胞包装纸组件。

  3. 使用webpack-isomorphic-tools

    优势:上require.extensionsContext(据我所知)没有任何依赖。

    警告:在webpack-isomorphic-tools实例中包装服务器。我们可以请摆脱webpack-assets.json

  4. 的WebPack捆绑服务器:

    优势:没有更多的钩或注射。

    买者:在发展,这是非常麻烦每当更改代码,甚至使它更难在大型捆绑.js文件调试捆绑一切。不确定 - 您可能需要通过捆绑的.js来测试跑步者。

免责声明

  • 的优点和下面的注意事项都只是我的两分钱,实际上我喜欢所有的库,插件和方法,他们把解决问题,非常感谢他们的努力。
  • 我不是以英语为母语的人,如果我歪曲自己,请纠正我。

回答

0

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

+0

你能解释一下你对'require.extensions'的意思吗?我正在经历同样的事情,差不多正在'css-modules-require-hook'工作,但不知道这是否是真正正确的方法。 – pedalpete