2016-03-24 4 views
6

Próbuję użyć pliku react component, który zawiera plik css. Wymagam komponentu jak zwykle:Używanie pakietu WWW do ładowania plików CSS z modułów węzłów

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

Chciałbym wiedzieć, jak mogę wymagać css potrzebne dla składnika.

Ja już próbowałem:

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

a to:

require('react-select.css'); 

I żaden z nich nie pracował.

+0

Jakie błędy występują? Jaka jest twoja konfiguracja Web Pack? – FakeRainBrigand

Odpowiedz

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

To działa, ale szczerze mówiąc nie chcę wymagać pliku znajdującego się w folderze node_modules – vintem

11

Upewnij się, że konfiguracja WebPack ma to:

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

To będzie wymagać i pakiet dowolny plik css, które wymagają, i chciałbym pociągnąć ich dokładnie, jak to zrobiłeś:

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

Innym obejściem, które działa na pewno, jest to, że użytkownik kopiuje ten plik css, a w html łączy go przez:

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

Mam tę konfigurację w moim pliku konfiguracyjnym Webpack – vintem

+1

To jest poprawna odpowiedź, jednak dla początkujących takich jak ja - Upewnij się, że następnie masz zainstalowaną wtyczkę "style-loader" i "css-loader", aby pakiet sieciowy mógł je odczytać. – Birksy89

+3

@ Birksy89 Dla jeszcze nowszych użytkowników uruchamiam ten 'npm install-loader css-loader --save-dev', a także jeśli zdecydujesz się podzielić CSS na swój własny plik zgodnie z [documentation] (https: // webpack. github.io/docs/stylesheets.html) pamiętaj o usunięciu jawnego znacznika css w wymaganiu, jak wspomniano [tutaj] (https://github.com/webpack/css-loader/issues/295#issuecomment-231510027) – nmu