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