【yy讲解PostCSS是如何安装和使用】

在这里插入图片描述

🎥博主:程序员不想YY啊
💫CSDN优质创作者,CSDN实力新星,CSDN博客专家
🤗点赞🎈收藏⭐再看💫养成习惯
✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!

PostCSS安装和使用

  • 0. 👉前言
  • 1. 👉安装 PostCSS
    • 🌻使用npm安装
    • 🌻使用yarn安装
    • 🌻安装autoprefixer插件
    • 🌻安装cssnano插件
  • 2. 👉使用 PostCSS
    • 🎥方法一:命令行工具
    • 🎥方法二:与构建工具结合
      • ❤️Webpack中使用PostCSS
      • ❤️Gulp中使用PostCSS

0. 👉前言

PostCSS 是一个使用 JavaScript 插件转换CSS代码的工具,这些插件可以让你使用未来的CSS特性、优化CSS文件的大小,或者是在CSS文件中嵌入一些编程逻辑。可以帮助开发者自动化处理CSS代码,例如自动添加浏览器前缀、压缩代码等。

1. 👉安装 PostCSS

通常,PostCSS 是作为项目开发依赖安装的,你可以通过npm或者yarn这样的包管理器来进行安装。在你开始之前,确保你已经安装了Node.js和npm。

🌻使用npm安装

npm install postcss postcss-cli --save-dev

这里同时安装了 postcss-cli,这是PostCSS的命令行接口,可以让你在命令行中运行PostCSS。

🌻使用yarn安装

yarn add postcss postcss-cli --dev

PostCSS本身只提供了基础的CSS处理功能,需要安装其他插件来增强功能。例如,autoprefixer插件可以自动添加浏览器前缀,cssnano插件可以压缩CSS代码。在命令行中输入以下命令安装插件:

🌻安装autoprefixer插件

npm install autoprefixer --save-dev

🌻安装cssnano插件

npm install cssnano --save-dev

2. 👉使用 PostCSS

安装完毕后,你就可以开始使用PostCSS了。假设你已经有了一些CSS文件并希望通过PostCSS进行处理。

🎥方法一:命令行工具

创建一个简单的PostCSS配置文件 postcss.config.js,并在里面加入你所需要的插件:

module.exports = {plugins: [// 在这里加入你要使用的插件require('autoprefixer'),// 其他插件]
};

然后你可以通过CLI命令来转换CSS:

npx postcss src/css/style.css --output dist/css/style.css

或者,如果你已经在项目中配置了package.json脚本,你也可以加入一个脚本来运行PostCSS:

"scripts": {"build-css": "postcss src/css/style.css -o dist/css/style.css"
}

然后在命令行中运行:

npm run build-css

🎥方法二:与构建工具结合

PostCSS通常与如Webpack、Gulp这样的构建工具一起使用:

❤️Webpack中使用PostCSS

安装所需插件:

npm install --save-dev postcss-loader autoprefixer css-loader style-loader

webpack.config.js 中配置loader:

module.exports = {module: {rules: [{test: /\.css$/,use: ['style-loader','css-loader',{loader: 'postcss-loader',options: {postcssOptions: {plugins: [require('autoprefixer')]}}}]}]}
};

❤️Gulp中使用PostCSS

安装所需插件:

npm install --save-dev gulp-postcss autoprefixer gulp-sourcemaps

gulpfile.js 中配置task:

const gulp = require('gulp');
const postcss = require('gulp-postcss');
const autoprefixer = require('autoprefixer');
const sourcemaps = require('gulp-sourcemaps');gulp.task('css', () => {return gulp.src('src/css/*.css').pipe(sourcemaps.init()).pipe(postcss([autoprefixer()])).pipe(sourcemaps.write('.')).pipe(gulp.dest('dist/css'));
});

然后运行gulp任务:

gulp css

以上给出了几种安装和使用PostCSS的方法,具体使用的插件和构建过程可能会根据个别项目的需求有所不同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Coursera上托福专项课程01:TOEFL Reading and Listening Sections Skills Mastery 学习笔记

TOEFL Reading and Listening Sections Skills Mastery Course Certificate 本文是学习 https://www.coursera.org/learn/toefl-reading-listening-sections-skills-mastery 这门课的笔记,如有侵权,请联系删除。 文章目录 TOEFL Reading and Listening …

AI绘图:Stable Diffusion ComfyUI局部重绘与智能扩图全面教程

前言 在数字艺术创作中,局部重绘和智能扩图是两个非常重要的功能。局部重绘允许我们在保留原有图像的基础上,对特定区域进行修改或创新。而智能扩图则能够帮助我们在图像的边缘添加新的元素,从而扩展图像的内容。本文将详细介绍如何在Stable…

卷积篇 | YOLOv8改进之引入全维度动态卷积ODConv | 即插即用

前言:Hello大家好,我是小哥谈。ODConv是一种关注了空域、输入通道、输出通道等维度上的动态性的卷积方法,一定程度上讲,ODConv可以视作CondConv的延续,将CondConv中一个维度上的动态特性进行了扩展,同时了考虑了空域、输入通道、输出通道等维度上的动态性,故称之为全维度…

深入理解C/C++的内存管理

在C和C中,高效的内存管理是编写性能优化和资源高效利用程序的关键。本文将深入探讨C/C内存管理的各个方面,包括内存的分布、C语言和C中的动态内存管理方式,以及new和delete操作符的使用 C/C内存分布 C和C程序的内存可以分为以下几个区域&…

Transformer学习: Transformer小模块学习--位置编码,多头自注意力,掩码矩阵

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Transformer学习 1 位置编码模块1.1 PE代码1.2 测试PE1.3 原文代码 2 多头自注意力模块2.1 多头自注意力代码2.2 测试多头注意力 3 未来序列掩码矩阵3.1 代码3.2 测试掩码 1 …

简约轻量-失信录系统源码

失信录系统-最新骗子收录查询系统源码 首页查询: 举报收录页: 后台管理页: 失信录系统 V1.0.0 更新内容: 1.用户查询,举报功能 2.界面独立开发 3.拥有后台管理功能 4.xss,sql安全过滤 5.平台用户查询 6.用户中心(待完…

Flume进阶学习!

本文图片来自于8.flume实时监控文件hdfs sink使用演示_哔哩哔哩_bilibili Apache Flume 的启动过程及其配置文件和脚本 在官网下载的Flume的压缩包中,.lib文件有大量的jar包,按道理说只有.lib文件就可以运行Flume程序了。只不过需要java -jar命令还要加…

第16章 网络编程

一 网络编程概述 Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里&am…

C++:递增递减运算符(16)

递增递减就是自加1或者自减1 , 但是还有前置递增,后置递增,前置递减,后置递减,两者的区别也大有不同,接下来就去看一下过程 a1 b1baa2 b2a1 b1baa2 b1a2 b2b--aa1 b1a2 b2ba--a1 b2 递增 前置递增 #includ…

JAVA基础03-scanner,输出,循环,if的使用以及eclipse的安装

目录 scanner的使用 if语句的使用 eclipse的使用 switch语句的使用 输出方法的使用 循环语句 scanner的使用 实现用户数据的交互,用户通过终端输入数据 注意:使用Scanner需要导包 在程序开头加上:import java.util.Scanner; //由于S…

IDEA修改jdk版本

项目的版本 实际版本和想要版本要对应起来 模块版本jdk1 源jdk版本2 如果报错 无效的发行版本 看一下pom文件中的編譯版本

如何评估基于指令微调的视觉语言模型的各项能力-MMBench论文解读

1. 传统基准的固有局限 VQAv2:视觉问题回答数据集,主要用于评估视觉理解与推理能力。COCO Caption:图像描述生成数据集,用于评估模型对图像内容的理解与描述能力。GQA:结合常识的视觉问题回答数据集。OK-VQA:需要外部知识的视觉问题回答数据集。TextVQA:图像中包含文本的…

武汉星起航电子商务公司领航跨境电商新纪元,助力品牌走向全球

在全球经济一体化的时代背景下,跨境电商正成为推动国际贸易增长的重要力量。武汉星起航电子商务有限公司,作为一家专注于提供一站式解决方案的跨境电商服务商,凭借其丰富的实战经验和专业团队,在行业中取得了令人瞩目的成绩。 自…

QT----YOLOv5检测平台

目录 1 opencv环境安装1.1 报错Could NOT find CUDNN (missing: CUDNN_LIBRARY CUDNN_INCLUDE_DIR) (Required is at least version "7.5")1.2 使用camkevs编译opencv4.8.01.3 报错operator !":重载函数具有类似的转换(编译源文件 H:\opencv-4.8.0\opencv-4.8.0…

Python环境搭建—安装Python3解释器

🥇作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1 🔥本文已收录于Python系列专栏: 零基础学Python 💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python视频教程以及Python相关电子书合…

43.1k star, 免费开源的 markdown 编辑器 MarkText

43.1k star, 免费开源的 markdown 编辑器 MarkText 分类 开源分享 项目名: MarkText -- 简单而优雅的开源 Markdown 编辑器 Github 开源地址: https://github.com/marktext/marktext 官网地址: MarkText 支持平台: Linux, macOS 以及 Win…

单例模式以及线程安全问题

单例模式的概念 单例模式是指的是整个系统生命周期内,保证一个类只能产生一个实例对象 保证类的唯一性 。 通过一些编码上的技巧,使编译器可以自动发现咱们的代码中是否有多个实例,并且在尝试创建多个实例的时候,直接编译出错。 …

力扣刷题 二叉树的迭代遍历

题干 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:root [1] 输…

Linux集群(二)集群搭建与keeplived配置

目录 一、集群搭建 1.复制3份Tomcat 2.测试Tomcat 3. 配置nginx.conf配置文件 二、keeplived 1.什么是keeplived 2.keeplived特点 3.下载和安装 3.1下载 3.2安装 3.3配置keeplived.conf配置文件 3.4测试 一、集群搭建 集群的主要目的是解决并发的问题。 1.复制3…

Windows程序设计课程作业-1

文章目录 1. 作业内容2. 设计思路分析与难点3. 代码实现3.1 接口定义3.2 工厂类实现3.3 委托和事件3.4 主函数3.5 代码运行结果 4. 代码地址5. 总结&改进思路6. 阅读参考 1. 作业内容 使用 C# 编码(涉及类、接口、委托等关键知识点),实现…