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 相关文章推荐
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
json的定义、标准格式及json字符串检验
May 11 Javascript
jquery图片切换插件
Mar 16 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
Jul 05 Javascript
Javascript复制实例详解
Jan 28 Javascript
从零开始做一个pagination分页组件
Mar 15 Javascript
js仿微信公众平台打标签功能
Apr 08 Javascript
vue使用技巧及vue项目中遇到的问题
Jun 04 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
深入了解JavaScript 防抖和节流
Sep 12 Javascript
JS跨浏览器解析XML应用过程详解
Oct 16 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
Jan 28 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
网站防止被刷票的一些思路与方法
2015/01/08 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
XENON基于JSON变种
2010/07/27 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
js实现车辆管理系统
2020/08/26 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
想学画画?python满足你!
2020/12/24 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
软件测试面试题
2015/10/21 面试题
二年级评语大全
2014/04/23 职场文书
男女朋友协议书
2014/04/23 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
灵山大佛导游词
2015/02/04 职场文书
自荐信怎么写
2015/03/04 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
k-means & DBSCAN 总结
2021/04/27 Python
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP