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 相关文章推荐
纯CSS打造的导航菜单(附jquery版)
Aug 07 Javascript
IE6不能修改NAME问题的解决方法
Sep 03 Javascript
JS限制上传图片大小不使用控件在本地实现
Dec 19 Javascript
jquery的flexigrid无法显示数据提示获取到数据
Jul 19 Javascript
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
jQuery仿京东商城楼梯式导航定位菜单
Jul 25 Javascript
WebPack基础知识详解
Jan 16 Javascript
微信小程序 template模板详解及实例
Feb 21 Javascript
js实现分页功能
May 24 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
Jul 10 Javascript
JS实现简易换图时钟功能分析
Jan 04 Javascript
对Vue table 动态表格td可编辑的方法详解
Aug 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
MySQL授权问题总结
2007/05/06 PHP
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
php 表单验证实现代码
2009/03/10 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
跟我学Laravel之路由
2014/10/15 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
php单例模式实现方法分析
2015/03/14 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHP类的特性实例分析
2016/09/28 PHP
cakephp常见知识点汇总
2017/02/24 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
JS编程小常识很有用
2012/11/26 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
学生操行评语大全
2014/04/24 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
幼儿园小班个人总结
2015/02/12 职场文书