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 相关文章推荐
jQuery提交表单ajax查询实例代码
Oct 07 Javascript
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
Feb 05 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
JavaScript 高性能数组去重的方法
Sep 20 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
Oct 11 Javascript
React性能优化系列之减少props改变的实现方法
Jan 17 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 Javascript
JavaScript中的 new 命令
May 22 Javascript
vue使用nprogress实现进度条
Dec 09 Javascript
解决vue scoped scss 无效的问题
Sep 04 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加密解密函数(动态加密)
2013/06/19 PHP
php删除数组元素示例分享
2014/02/17 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
python解析xml模块封装代码
2014/02/07 Python
简述Python中的面向对象编程的概念
2015/04/27 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
Python求离散序列导数的示例
2019/07/10 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
詹天佑教学反思
2014/04/30 职场文书
会计专业自荐信范文
2019/05/22 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
vue elementUI表格控制对应列
2022/04/13 Vue.js