分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

webpack的css处理

发布时间:2023-09-06 02:20责任编辑:赖小花关键词:webpack

webpack打包处理css的时候需要两个loader:

style-loader 和css-loader

安装:

1 npm install style-loader css-loader --save-dev

style-loader:负责将打包生成的代码嵌入到html页面中.

css-loader:是允许将css文件引入到.js文件中;

简单的打包css的webpack.config.js文件:

 1 var path = require(‘path‘) 2 module.exports = { 3 ????entry:{ 4 ????????app:‘./src/app.js‘ 5 ????}, 6 ????output: { 7 ????????path:path.resolve(__dirname,‘dist‘), 8 ????????publicPath: "./dist/", 9 ????????filename: "[name].bundle.js"10 ????},11 ????module:{12 ????????rules:[13 ????????????{14 ????????????????test:/\.css$/,15 ????????????????use:[16 ????????????????????{17 ????????????????????????loader:‘style-loader‘,//在html页面中插入<style>标签;18 ????????????????????????// options:{19 ????????????????????????// ????insertInto:‘#app‘,//将打包成的style标签插入app20 ????????????????????????// ????singlleton:true,//只生成一个style标签21 ????????????????????????// ????transfrom:‘./css.transform.js‘//css的变形,它会在打包生成的标签插入html页面的时候生效,因此还可以获取浏览器的相关信息22 ????????????????????????// }23 ???????????????????????// loader:‘style-loader/url‘//会在头部插入<link>标签//如果打包多个文件会生成 多个link,影响性能,推荐使用上一种;24 ????????????????????????//loader:"style-loader/useable"//控制样式插入或者不插入页面中;25 26 ????????????????????},27 ????????????????????{28 ????????????????????????loader:‘css-loader‘,29 ????????????????????????// loader:‘file-loader‘,30 ????????????????????????options:{31 ????????????????????????????minimize:true,32 ????????????????????????????modules:true//开启了modules,在js中引入css文件以后,就可以导出css文件,点.出css文件中的内容;33 ????????????????????????}34 ????????????????????}35 ????????????????]36 ????????????}37 ????????]38 ????}39 }

style-loader:有一个options配置,包括:

  1.inserAt:形成的标签插入的位置;

  2.insertInto:插入到dom

  3.singleton:true/false是否只使用一个style标签

  4.transform:转化,是在浏览器环境下生效,插入页面之前;可以进行和浏览器相关的页面样式操作

如:css.transform.js文件:

1 module.exports = function (css) {2 ????console.log(css)3 ????console.log(window.innerWidth)4 ????if(window.innerWidth >= 768){5 ????????return css.replace(‘red‘,‘green‘)6 ????}else{7 ????????return css.replace(‘red‘,‘orange‘)8 ????}9 }

style-loader的两个同类:

  1.style-loader/url:是将打包的代码以Link的形式插入到页面中;

  2.style-loader/useable:是否允许插入引入的文件,在.js中使用

css的options配置项:

  1.alias(解析的别名)

  2.importLoader(@import)

  3.Minimize(是否压缩)

  4.modules(启用css-modules)

css-Modules的参数:

  1.:local

  2.global

  3.compose

  4.compose...from path

compose使用代码:

1 .box ?{2 ????composes: bigBox from ‘./common.css‘;//为了优先级,默认将引入的写入到括号中的第一行3 ????width: 200px;4 ????height: 200px;5 ????background: skyblue;6 ????border-radius:5%;7 }

 less与sass配置:

安装:

1 npm install less-loader less --save-dev2 npm install sass-loader node-sass --save-dev

配置代码:

 1 ?rules:[ 2 ????????????{ 3 ????????????????test:/\.less$/, 4 ????????????????use:[ 5 ????????????????????{ 6 ????????????????????????loader:‘style-loader‘,//在html页面中插入<style>标签; 7 ????????????????????????// options:{ 8 ????????????????????????// ????insertInto:‘#app‘,//将打包成的style标签插入app 9 ????????????????????????// ????singlleton:true,//只生成一个style标签10 ????????????????????????// ????transfrom:‘./css.transform.js‘//css的变形,它会在打包生成的标签插入html页面的时候生效,因此还可以获取浏览器的相关信息11 ????????????????????????// }12 ???????????????????????// loader:‘style-loader/url‘//会在头部插入<link>标签//如果打包多个文件会生成 多个link,影响性能,推荐使用上一种;13 ????????????????????????//loader:"style-loader/useable"//控制样式插入或者不插入页面中;14 15 ????????????????????},16 ????????????????????{17 ????????????????????????loader:‘css-loader‘,18 ????????????????????????// loader:‘file-loader‘,19 ????????????????????????options:{20 ????????????????????????????minimize:true,21 ????????????????????????????modules:true//开启了modules,在js中引入css文件以后,就可以导出css文件,点.出css文件中的内容;22 ????????????????????????}23 ????????????????????},24 ????????????????????{25 ????????????????????????loader:‘less-loader‘26 ????????????????????}27 ????????????????]28 ????????????}29 ????????]

webpack的css处理

原文地址:https://www.cnblogs.com/yangguoe/p/9887310.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved