解決 Universal 架構的 CSS Modules 問題_html/css_WEB-ITnose
Jun 21, 2016 am 08:59 AM
最近在使用 React 和 Redux 建構一個 Isomorphic JavaScript(Universal)應用。
但是在實作 CSS Modules 的時候,會碰上兩個問題:
Server-side 的 Node.js 無法 import *.css。
如果改成使用 process.env.IS_BROWSER 來判斷只在 Client-dide import,那又會碰到 Server-side 與 Client-side render 出來的 DOM 結果不一致的問題。
解決方式:
安裝 css-modules-require-hook 這個套件:
npm install css-modules-require-hook --save-dev
修改 webpack config 的 css-loader 設定:
// webpack.config.js{ // ... module: { loaders: [{ test: /\.css$/, loader: 'style-loader!css-loader?modules&localIdentName=[name]__[local]___[hash:base64:5]!!postcss-loader' }] } // ...}
在 Node.js 的 main file 加入 css-modules-require-hook:
// server.jsrequire('css-modules-require-hook')({ generateScopedName: '[name]__[local]___[hash:base64:5]'});// ...
注意 generateScopedName 的命名格式,必須與 css-loader 的 localIdentName 保持一致。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kesukaran mengemas kini caching laman web akaun rasmi: Bagaimana untuk mengelakkan cache lama yang mempengaruhi pengalaman pengguna selepas kemas kini versi?

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna?

Bagaimana cara menambah kesan strok kepada imej PNG di laman web?

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya?

Apakah implikasi keselamatan menggunakan iframes, dan bagaimana saya dapat mengurangkannya?

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5?

Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik?

Bagaimana saya menggunakan html5 & lt; meter & gt; elemen untuk memaparkan data berangka dalam julat?
