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 Prototype对象
Jan 07 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
AngularJS基础知识
Dec 21 Javascript
Jquery遍历Json数据的方法
Apr 20 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
JS命令模式例子之菜单程序
Oct 10 Javascript
vue-devtools的安装步骤
Apr 23 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
PHP中session变量的销毁
2014/02/27 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python3 处理JSON的实例详解
2017/10/29 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
python多线程分块读取文件
2019/08/29 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
仓库管理制度
2014/01/21 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
公司内部升职自荐信
2015/03/27 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js