CSSモジュールでスタイルをインポートし、サーバー側のレンダリングで使用できるようにします。私は以下の方法を試しましたが、それぞれには独自の警告があります。任意の副作用がある場合、require('.style.scss')
するための最良の方法は何ですか? css-modules-require-hookを使用してCSSモジュールのサーバー側レンダリング
:
利点:設定が簡単。あなたはちょうどサーバーコードの冒頭にフックを呼び出す必要があります。コンポーネントを変更する必要はありません。
警告:それはある
require.extensions
グローバルオブジェクトは、を廃止予定変更します。 isomorphic-style-loaderを使用して:
利点:
require.extensions
へのこれ以上のフック。警告:実験 APIして反応の将来のリリースで壊れそうなリアクト
Context
を使用していますHOCs、とラッピングコンポーネント。 webpack-isomorphic-toolsを使用して:
利点:
require.extensions
またはContext
には依存(私の知る限り)。警告::webpack-isomorphic-toolsインスタンス内のラッピングサーバー。そして、私たちはwebpack-assets.jsonを取り除くことができますか?
利点:これ以上のフックまたは注射WebPACKのでサーバをバンドル
。
警告は:開発では、コードの変更、さらにはそれが難しく大バンドル
.js
ファイルでデバッグすることができたときに、すべてをバンドルすることは非常に面倒です。わからない - 付属の.js
をテストランナーに渡す必要があるかもしれません。
免責事項:
- 以下の利点と注意事項はちょうど私の2セントであり、実際に私は、彼らが問題を解決するために取って、本当に彼らの努力に感謝し、すべてのライブラリ、プラグインやアプローチを愛し。
- 私は母国語ではないので、自分自身を虚偽の表現で訂正してください。
'require.extensions'の意味を説明できますか?私は同じことをやっていて、ほとんど 'css-modules-require-hook'を動作させていますが、これが本当に正しい方法であるかどうかは分かりません。 – pedalpete