2

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

  1. 使用css-modules-require-hook

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

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

  2. 使用同构样式加载器

    优点:没有更多的钩子require.extensions

    警告:使用使用 React 的 HOC 包装组件Context,这是一个实验性API,可能会在未来的 React 版本中中断。

  3. 使用webpack-isomorphic-tools

    优点:不依赖require.extensionsContext(AFAIK)。

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

  4. 使用Webpack捆绑服务器:

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

    警告:在开发中,每当代码更改时捆绑所有内容非常麻烦,甚至在大型捆绑文件中更难调试。.js不确定 - 您可能需要通过捆绑.js测试运行器。

免责声明

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

1 回答 1

0

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

于 2017-02-15T14:59:21.813 回答