webpack处理 css\less\sass 样式的方法

网友投稿 387 2023-04-17


webpack处理 css\less\sass 样式的方法

本文介绍了webpack处理 css\less\sass 样式的方法,分享给大家,具体如下:

(一)处理普通的.css 文件,需要安装 css-loader,style-loader

.less 文件,需要安装 less-loader

.sass 文件,需安装  less-loader

npm install --save-dev css-loader

npm install --save-dev css-loader

npm install less-loader --save-dev

(二)在项目中,我们会遇到 不同浏览器,前缀不同。比如 display: flex ,在IE以及谷歌下前缀是不同的,

这时候,我们需要 postcss 这样的插件

npm install postcss-loader --save-dev

npm install autoprefixer --save-dev

安装好相关loader后,我们需要在webpack.config.js 中 加入相关配置代码,如下

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 代码如下

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.js

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.csshttp://

@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 自动完成。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:React学习笔记之列表渲染示例详解
下一篇:webpack使用 babel
相关文章

 发表评论

暂时没有评论,来抢沙发吧~