(一)css
處理普通的.css 文件,須要安裝 css-loader,style-loaderhtml
.less 文件,須要安裝 less-loaderwebpack
.sass 文件,需安裝 less-loaderweb
npm install --save-dev css-loader npm install --save-dev css-loader
npm install less-loader --save-dev
(二)正則表達式
在項目中,咱們會遇到 不一樣瀏覽器,前綴不一樣。好比 display: flex ,在IE以及谷歌下前綴是不一樣的,npm
這時候,咱們須要 postcss 這樣的插件瀏覽器
npm install postcss-loader --save-dev
npm install autoprefixer --save-dev
安裝好相關loader後,咱們須要在webpack.config.js 中 加入相關配置代碼,以下sass
var htmlWebpackPlugin = require('html-webpack-plugin'); var path = require('path'); console.log(__dirname); module.exports = { /*context: __dirname,*/ entry: './src/app.js', output: { path: './dist', filename: 'js/[name]-bound.js'//生成後的文件名 爲 a-2ea5b2e9b258a8bbba73.js,main-2ea5b2e9b258a8bbba73.js }, module: { loaders: [ { test: /\.css$/, //正則表達式,匹配.css文件 loader: 'style!css?importLoaders=1!postcss' //處理順序 從右到左
// ?importLoaders=1 表示 引入嵌入的 css文件也會按照postcss這樣自動添加前綴 }, { test: /\.less$/, loader: 'style!css!postcss!less' } ], rules: [{ test: /\.(css|scss|less)$/, loader:"style-loader!css-loader?importLoaders=1!postcss-loader" //因爲webpack2.X 版本對post-css書寫方式的改變
//須要新添加 postcss.config.js
}] }, plugins: [ new htmlWebpackPlugin({ filename: 'index.html', //經過模板生成的文件名 template: 'index.html',//模板路徑 inject: 'body' //是否自動在模板文件添加 自動生成的js文件連接 }) ] };
postcss.config.js 代碼以下app
module.exports = { plugins: [ require('autoprefixer')({ browsers: 'last 5 version' //前五種瀏覽器版本 }) ] };
import layer from './components/layer/layer.js'; import './css/common.css'; const App = function () { console.log(layer); } new App();
layer.jsless
import './layer.less'; function layer(){ return{ name:'layer', tpl:'tpl'
}; } export default layer;
//layer.less .layer{ width:600px; height: 200px; border: 1px solid yellow; } //common.css @import "flex.css"; html{ background-color: red; } ul,li{ padding:0; margin:0; list-style:none; } .styleFlex { display: flex; } //flex.css .flexFlex { display: flex; }
使用webpack 編譯後,能夠查看,相關css以及被編譯在index.html,前綴css 自動完成。