2015-06-24 31 views
9

我使用bootstrap css和用less編寫的附加模板。我導入兩個在我的反應組件的根組件。不幸的是,即使較少的文件是第二個被導入的文件,引導的樣式也會推翻較少的樣式。有沒有一種方法可以確保webpack樣式的順序。如何在webpack中以正確的順序導入樣式

這是根組件:

import React from "react"; 
import Dashboard from "./dashboard"; 
import 'bootstrap/dist/css/bootstrap.min.css' 
import '../styles/less/pages.less' 

React.render(
    <Dashboard />, 
    document.body 
); 

這是存在的裝載程序設置相關部分:

{ 
    test: /\.less$/, 
    loader: ExtractTextPlugin.extract(
    'css?sourceMap!' + 
    'less?sourceMap' 
) 
}, { 
    test: /\.css$/, 
    loader: 'style-loader!css-loader' 
}, 

回答

3

的問題是,我也必須使用ExtractTextPlugin插件的CSS部分在我的裝載機設置:

{ 
    test: /\.less$/, 
    loader: ExtractTextPlugin.extract(
    'css?sourceMap!' + 
    'less?sourceMap' 
) 
}, 
{ 
    test: /\.css$/, 
    loader: ExtractTextPlugin.extract(
    'css' 
) 
}, 
+3

任何機構找到更好的方法來做到這一點? – user1828780

2

重新排序您的css導入index.js文件中:

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import App from './App'; 
import './index.css'; 
import 'bootstrap/dist/css/bootstrap.css'; 
import 'bootstrap-rtl/dist/css/bootstrap-rtl.css'; 

ReactDOM.render(
    <App />, 
    document.getElementById('root') 
); 

請注意,index.cssbootstrap.css之前加載。他們應該按以下順序進口:

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import App from './App'; 
import 'bootstrap/dist/css/bootstrap.css'; 
import 'bootstrap-rtl/dist/css/bootstrap-rtl.css'; 
import './index.css'; 

ReactDOM.render(
    <App />, 
    document.getElementById('root') 
); 
相關問題