全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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 自动完成。

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


# webpack  # css  # less  # sass  # webpack2  # webpack4 处理SCSS的方法示例  # webpack分离css单独打包的方法  # webpack4 css打包压缩问题的解决  # webpack 打包压缩js和css的方法示例  # 详谈vue+webpack解决css引用图片打包后找不到资源文件的问题  # 详解webpack之scss和postcss-loader的配置  # webpack解决css兼容性问题小结  # 也会  # 给大家  # 五种  # 自动生成  # 大家多多  # 可以查看  # 装好  # 自动完成  # 这时候  # 正则表达式  # module  # exports  # entry  # context  # console  # path  # log  # __dirname 


相关文章: 浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  建站之星ASP如何实现CMS高效搭建与安全管理?  网站制作员失业,怎样查看自己网站的注册者?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  C#如何使用XPathNavigator高效查询XML  大连网站制作公司哪家好一点,大连买房网站哪个好?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何零基础开发自助建站系统?完整教程解析  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  淘宝制作网站有哪些,淘宝网官网主页?  网站制作新手教程,新手建设一个网站需要注意些什么?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何快速搭建高效香港服务器网站?  c# await 一个已经完成的Task会发生什么  网站制作知乎推荐,想做自己的网站用什么工具比较好?  如何在景安云服务器上绑定域名并配置虚拟主机?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  高端建站如何打造兼具美学与转化的品牌官网?  建站之星后台密码遗忘?如何快速找回?  香港服务器选型指南:免备案配置与高效建站方案解析  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  高防服务器租用如何选择配置与防御等级?  建站之星免费版是否永久可用?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  微信推文制作网站有哪些,怎么做微信推文,急?  建站之星后台管理系统如何操作?  音响网站制作视频教程,隆霸音响官方网站?  三星网站视频制作教程下载,三星w23网页如何全屏?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  建站之星如何保障用户数据免受黑客入侵?  如何挑选最适合建站的高性能VPS主机?  如何在IIS7上新建站点并设置安全权限?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  建站10G流量真的够用吗?如何应对访问高峰?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  长沙做网站要多少钱,长沙国安网络怎么样?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  如何在Ubuntu系统下快速搭建WordPress个人网站?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在万网主机上快速搭建网站?  如何通过wdcp面板快速创建网站?  常州自助建站费用包含哪些项目?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  股票网站制作软件,网上股票怎么开户?  建站之星安装后如何配置SEO及设计样式?  如何快速生成橙子建站落地页链接?  制作农业网站的软件,比较好的农业网站推荐一下?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  兔展官网 在线制作,怎样制作微信请帖? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。