本文介绍了webpack处理 css\less\sass 样式的方法,分享给大家,具体如下: (一)处理普通的.css 文件,需要安装 css-loader,style-loader
.less 文件,需要安装 less-loader
.sass 文件,需安装 less-loader
css-loader
npm install --save-dev css-loader
npm install less-loader --save-dev
(二)在项目中,我们会遇到 不同浏览器,前缀不同。比如 display: flex ,在IE以及谷歌下前缀是不同的,
这时候,我们需要 postcss 这样的插件
css-loader --save-dev
npm install autoprefixer --save-dev
安装好相关loader后,我们需要在webpack.config.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 代码如下
const App = function () {
console.log(layer);
}
console.log(layer);
}
new App();
layer.js
function layer(){
return{
name:'layer',tpl:'tpl'
};
}
return{
name:'layer',tpl:'tpl'
};
}
export default layer;
//common.css
@import "flex.css";
html{
background-color: red;
}
@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 自动完成。