首页 > 编程 > JavaScript > 正文

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

2019-11-19 15:43:22
字体:
来源:转载
供稿:网友

本文介绍了webpack处理 css/less/sass 样式的方法,分享给大家,具体如下:
(一)处理普通的.css 文件,需要安装 css-loader,style-loader

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

.sass 文件,需安装  less-loader

npm install --save-dev css-loadernpm install --save-dev css-loadernpm install less-loader --save-dev

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

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

npm install postcss-loader --save-devnpm 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.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 自动完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表