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 相关文章推荐
URI、URL和URN之间的区别与联系
Dec 20 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
谈谈关于JavaScript 中的 MVC 模式
Apr 11 Javascript
JS画线(实例代码)
Nov 20 Javascript
JS基于面向对象实现的拖拽库实例
Sep 24 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
vuejs 单文件组件.vue 文件的使用
Jul 28 Javascript
基于JavaScript实现淘宝商品广告效果
Aug 10 Javascript
vue-cli脚手架-bulid下的配置文件
Mar 27 Javascript
微信小程序实现左滑动删除效果
Mar 30 Javascript
原生js实现贪食蛇小游戏的思路详解
Nov 26 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和MySql来与ODBC数据连接
2006/10/09 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
JS实现多选框的操作
2020/06/24 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
python数据挖掘需要学的内容
2019/06/23 Python
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
Python JSON编解码方式原理详解
2020/01/20 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
校园达人秀策划书
2014/01/12 职场文书
电气自动化求职信
2014/06/24 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
用python画城市轮播地图
2021/05/28 Python
尝试使用Python爬取城市租房信息
2022/04/12 Python
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL