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


Posted in Javascript onAugust 21, 2017

本文介绍了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.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 自动完成。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
深入认识JavaScript中的函数
Jan 22 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
Jul 31 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
使用jquery插件qrcode生成二维码
Oct 22 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
JS实现滑动门效果的方法详解
Dec 19 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
VUE元素的隐藏和显示(v-show指令)
Jun 23 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
JS正则表达式验证端口范围(0-65535)
Jan 06 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 #Javascript
JS实现身份证输入框的输入效果
Aug 21 #Javascript
Vue自定义指令使用方法详解
Aug 21 #Javascript
javascript实现Java中的Map对象功能的实例详解
Aug 21 #Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 #Javascript
JavaScript中各数制转换全面总结
Aug 21 #Javascript
JQuery判断正整数整理小结
Aug 21 #jQuery
You might like
php中文字符截取防乱码
2008/03/28 PHP
Zend 输出产生XML解析错误
2009/03/03 PHP
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
jquery高级编程的最佳实践详解
2014/03/23 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
python3.0 字典key排序
2008/12/24 Python
Python中多线程thread与threading的实现方法
2014/08/18 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
全民健身日活动方案
2014/01/29 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
离婚案件被告代理词
2015/05/23 职场文书
毕业典礼致辞
2015/07/29 职场文书