在webpack-react項目中,css的使用對於不一樣人有不一樣的選擇,早起是推薦在jsx文件中使用 css inline js的,可是這種方法要寫不少對象來表示一個一個的標籤,而且對於這些對象,咱們在寫樣式時,還必需要使用駝峯式的寫法,因此,這無疑使咱們不能接受的,最好的作法就是講css文件寫在一個單獨的文件夾中外聯進來。 css
webpack同時也是能夠將css文件當作一個一個的模塊的,因此,咱們就須要對css模塊的處理進行配置。 html
npm install css-loader style-loader --save-dev node
其中的css-loader做用是使得webpack尋找css文件,style-loader的做用是爲了使得css嵌入到html中。 react
webpack.config.js配置以下所示:webpack
{ test: /\.css$/, loader: 'style-loader!css-loader' }
接着咱們就可使用require()的方式引入css文件了。 web
若是咱們但願使用less,那麼咱們就可使用less-loader來處理了。 最終的代碼以下:npm
module.exports = { entry: ["./index.js"], output: { path: __dirname + "/dist", filename: "bundle.js" }, watch: true, module: { loaders: [ { test: /\.jsx?$/, loader: 'babel-loader', exclude: /node_modules/, query: { presets: ['es2015', 'react'] } }, { test: /\.css$/, loader: 'style-loader!css-loader' }, { test: /\.less$/, use: [{ loader: "style-loader" // creates style nodes from JS strings }, { loader: "css-loader" // translates CSS into CommonJS }, { loader: "less-loader" // compiles Less to CSS }] } ] } }
以前我在網上搜了不少的博客,每一個人的說法彷佛都不一致,而且都是隻有本身才能夠理解的,因此,在安裝less這一步上我就浪費了很多的時間,而此次的效率之低讓我意識到了這樣的問題:babel
這裏的解決方案是從: https://doc.webpack-china.org/loaders/less-loader/ 這個網站上找到的,這裏正是官方文檔,是根源,他人寫的全部的博客,其實最終也都是基於此而出現的less