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 相关文章推荐
用jscript启动sqlserver
Jun 21 Javascript
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
JS实现向表格行添加新单元格的方法
Mar 30 Javascript
基于insertBefore制作简单的循环插空效果
Sep 21 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
Jan 08 Javascript
JS正则替换去空格的方法
Mar 24 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
Dec 17 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 面向对象 PHP5 中的常量
2010/05/05 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
PHP加密解密实例分析
2015/12/25 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
Less 安装及基本用法
2018/05/05 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python正则表达式介绍
2012/08/06 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
区政府领导班子个人对照检查材料
2014/09/25 职场文书
技术员岗位职责
2015/02/04 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书