2016-03-24 12 views
6

CSSファイルを含むreact componentを使用しようとしています。私はいつものようにコンポーネントを要求しています:webpackを使用してノードモジュールからCSSファイルをロードする

var Select = require('react-select'); 

コンポーネントに必要なCSSがどのように必要なのでしょうか。

私は既にこの試みた:

require('react-select/dist/react-select.css'); 

そして、これを:

require('react-select.css'); 

どれも働いています。

+0

どのようなエラーが表示されますか?ウェブパックの設定は何ですか? – FakeRainBrigand

答えて

0
//package.json 
"dependencies": { 
    "my-package": "2.0.0" 
} 
//app.js 
//Get a relative path to the installed css files: 
require('../someRelativePathFromAppJs/node_modules/my-package/somePath/myNeeded.css') 
+4

これはうまくいきますが、正直言ってnode_modulesフォルダ内にファイルが必要なのは好きではありません – vintem

11

あなたWebPACKの構成は、これを持っていることを確認します。

module: { 
    loaders: [ 
    { test: /\.css$/, loader: "style-loader!css-loader" } 
    ] 
} 

これは必要とバンドルあなたが必要とするすべてのCSSファイルを、私はあなたがそれをやった彼らの方法を正確に引き上げるます:

require('react-select/dist/react-select.css'); 

特定の問題を解決するもう1つの回避策は、コピーそのcssファイルで、htmlでは次のようにリンクします。

<link rel="stylesheet" href="/path/to/react-select.css"> 
+1

ウェブパック設定ファイルにその設定があります – vintem

+1

これは正解ですが、 webpackがそれらを読むことができるように、スタイルローダーとcss-loaderプラグインがインストールされています。 – Birksy89

+3

@ Birksy89もっと新しい初心者の方でも、この 'npm install style-loader css-loader --save-dev'を実行してください。また、CSSを[documentation](https:// webpack。 github.io/docs/stylesheets.html)必須の明示的なCSSマーカーを削除してください(https://github.com/webpack/css-loader/issues/295#issuecomment-231510027) – nmu

関連する問題