webpack处理 css\less\sass 样式的方法

 更新时间:2017年08月21日 16:34:12   作者:Herry彬  
本篇文章主要介绍了webpack处理 css\less\sass 样式的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了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 自动完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。  

相关文章

  • 浅谈Javascript事件处理程序的几种方式

    浅谈Javascript事件处理程序的几种方式

    事件就是用户或浏览器自身执行的某种动作。比如说click,mouseover,都是事件的名字。而相应某个事件的函数就叫事件处理程序(或事件侦听器)。为事件指定处理程序的方式有好几种
    2012-06-06
  • JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)

    JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)

    这篇文章主要介绍了JS实用技巧,包括常见的js屏蔽错误、div滚动条设置以及背景图片位置等,代码简洁易懂,非常实用,需要的朋友可以参考下
    2016-06-06
  • js中如何向数组中添加元素unshift()方法

    js中如何向数组中添加元素unshift()方法

    这篇文章主要介绍了js中如何向数组中添加元素unshift()方法,具有很好的参考价值,希望对大家有所帮助,
    2023-12-12
  • javascript实现用户点击数量统计

    javascript实现用户点击数量统计

    本文主要javascript实现用户点击数量统计的方法进行详细介绍,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • JS实现时间轴自动播放

    JS实现时间轴自动播放

    这篇文章主要为大家详细介绍了JS实现时间轴自动播放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 实例详解带参数的 npm script

    实例详解带参数的 npm script

    本文通过实例代码给大家介绍了带参数的 npm script,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 强大的JSON.stringify如何使用

    强大的JSON.stringify如何使用

    本文主要介绍了强大的JSON.stringify如何使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • JavaScript 中URL 查询字符串(query string)的序列与反序列化的方法

    JavaScript 中URL 查询字符串(query string)的序列与反序列化的方法

    在 JavaScript 中,可以使用 URLSearchParams 对象来处理 URL 中的查询字符串,这篇文章主要介绍了JavaScript 中URL查询字符串(query string)的序列与反序列化,需要的朋友可以参考下
    2023-01-01
  • 解决js图片加载时出现404的问题

    解决js图片加载时出现404的问题

    这篇文章主要为大家详细介绍了解决js图片加载时出现404问题的方法,具有一定的参考价值,这方面有困惑的朋友可以参考一下
    2015-11-11
  • js实现自定义下拉框

    js实现自定义下拉框

    这篇文章主要为大家详细介绍了js实现自定义下拉框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论