2017-08-16 2 views
0

では、私がコンポーネントを持って反応し、私は、CSSスタイルシートをインポートするある特定の要素にのみ適用され、グローバルではないcssファイルをes6でインポートする方法はありますか?

import styles from 'css-stylesheet.css' 

かで

import 'css-stylesheet.css' 

'./MyComponent.jsx' 私だけに、このCSSをしたいしかし

このコンポーネントにのみ適用されます!私はそれが今のようにグローバルであることを望んでいない。私はwebpackを使用しています。ローカルにインポートする方法はありますか?インポートしたファイルにのみ適用しますか?方法があるはずのようですが、私はそれについての質問を見つけることもできません。ここで

あなたはCSS-ローダーを使用している私のWebPACKのCSSローダコード

module: { 
    rules: [{test: /(\.css)$/, loaders: ['style-loader', 'css-loader']}] 
} 
+0

あなたはCSSファイルを使用していますか?このようなスタイルのコンポーネントや魅力のようなソリューションの多くがあります – azium

+0

これは私の仕事で複数の人々によって働いているプロジェクトですので、あまりにもエキゾチックなを取得したくないです。よりシンプルな=より良い。 – Leon

+0

フェア十分です。私はまだスタイル付きのコンポーネントを見ています。 https://www.styled-components.com/通常のCSS構文を使用しており、ほとんどエキゾチックではありません – azium

答えて

1

あり、それはあなたがあなたのオブジェクトを返しますオプション

{ 
    loader: "css-loader", 
    options: { 
    modules: true 
    } 
} 

を渡す必要があり、それを可能にするために、css-modulesをサポートしていますCSSをインポートするときはいつでも、そのオブジェクトにはcssセレクタとuglifiedセレクタの間のマップが含まれます。このようにして、スタイルはコンポーネント固有のものになります。

uglifiedセレクタのパターンを定義するには、オプションにフィールドを追加します。 localIdentName:[name]__[local]___[hash:base64:5]

+0

ありがとうございます!私は他のインポートされたCSSを持っている場合どのようにそれらをグローバルにするのですか? – Leon

+0

そこにはドキュメントがありますが、短い答えとして、グローバルなCSSをラップする必要があるというグローバル宣言があります。 – felixmosh

+0

それは事それ...私のcssを包むことができないその第三者と私はそれのまわりで猿をしたくない。良い書き方や記事がありますか?この文書は、グローバルとローカルになるようにCSSを設定する方法については不十分です。フェリックスの助けをありがとう、それは正しい道で私を送った – Leon

関連する問題