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动画2.元素坐标动画效果(创建一个图片走廊)
Aug 24 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 Javascript
JS控制文本框textarea输入字数限制的方法
Jun 17 Javascript
判断ie的两种简单方法
Aug 12 Javascript
jQuery遍历json中多个map的方法
Feb 12 Javascript
深入浅析Node.js单线程模型
Jul 10 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
微信小程序自定义多列选择器使用详解
Jun 21 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
js实现飞机大战游戏
Aug 26 Javascript
JavaScript 实现继承的几种方式
Feb 19 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
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
js性能优化技巧
2015/11/29 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
python enumerate函数的使用方法总结
2017/11/15 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
python设置环境变量的作用和实例
2019/07/09 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
Born鞋子官网:Born Shoes
2017/04/06 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
网络工程师的自我评价
2013/10/02 职场文书
高中生期末评语大全
2014/01/28 职场文书
加强党性修养心得体会
2016/01/21 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
浅谈Python类的单继承相关知识
2021/05/12 Python
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers