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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
js实现双向链表互联网机顶盒实战应用实现
Oct 28 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
Nov 24 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
使用node打造自己的命令行工具方法教程
Mar 26 Javascript
Vue中的$set的使用实例代码
Oct 08 Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
Jun 21 Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
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
火车头采集器3.0采集图文教程
2007/03/17 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
input按钮的事件处理大全
2010/12/10 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
Python计算三维矢量幅度的方法
2015/06/15 Python
Python IDLE入门简介
2017/12/08 Python
python实现类之间的方法互相调用
2018/04/29 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
html5时钟实现代码
2010/10/22 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
拉歌口号大全
2014/06/13 职场文书
英文演讲稿开场白
2014/08/25 职场文书
社区党员公开承诺书
2014/08/30 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技